.contract-page{background:var(--cream);color:var(--ink)}
.contract-page button,.contract-page input{font:inherit}
.contract-page button{cursor:pointer}
.contract-hero{background:var(--navy);color:#fff;overflow:hidden;position:relative}
.contract-hero::before{background:radial-gradient(circle at 84% 22%,rgba(143,198,47,.18),transparent 27%),linear-gradient(120deg,#07162a 0%,#0b2238 72%,#12364a 100%);content:"";inset:0;position:absolute}
.contract-hero::after{border:70px solid rgba(255,255,255,.035);border-radius:50%;content:"";height:310px;position:absolute;right:-120px;top:-190px;width:310px}
.contract-hero-inner{align-items:center;display:grid;gap:70px;grid-template-columns:minmax(0,1fr) 380px;min-height:460px;padding-block:70px;position:relative;z-index:1}
.contract-hero-copy{max-width:760px}
.contract-hero-copy h1{font-size:clamp(3rem,6vw,5.2rem);margin-top:18px}
.contract-hero-copy h1 span{color:var(--green)}
.contract-hero-copy>p{color:#cdd8e0;font-size:1.125rem;max-width:640px}
.contract-hero-short .contract-hero-inner{min-height:340px}
.contract-privacy-card{align-items:flex-start;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:22px;display:flex;gap:17px;padding:25px}
.contract-privacy-card strong{font-family:Manrope,sans-serif;font-size:1rem}
.contract-privacy-card p{color:#c7d3dc;font-size:.8125rem;line-height:1.6;margin:7px 0 0}
.contract-lock{align-items:center;background:var(--green);border-radius:50%;color:var(--navy);display:flex;flex:0 0 42px;font-weight:900;height:42px;justify-content:center}
.contract-workspace{padding:42px 0 90px}
.contract-status-banner{align-items:center;background:#fff8dc;border:1px solid #eed781;border-radius:14px;color:#63511a;display:flex;gap:13px;justify-content:center;margin-bottom:25px;padding:12px 18px;text-align:center}
.contract-status-banner strong{font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase}
.contract-status-banner span{font-size:.75rem}
.contract-content-grid{align-items:start;display:grid;gap:24px;grid-template-columns:285px minmax(0,1fr)}
.contract-sidebar{background:var(--navy);border-radius:22px;color:#fff;padding:30px 26px;position:sticky;top:140px}
.contract-aside-title{color:var(--green);font-size:.6875rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.contract-steps{display:grid;gap:18px;list-style:none;margin:24px 0 38px;padding:0}
.contract-steps li{align-items:center;color:#8fa0ae;display:flex;font-size:.8125rem;gap:13px}
.contract-step-number{align-items:center;border:1px solid #40576c;border-radius:50%;display:flex;font-size:.625rem;font-weight:800;height:32px;justify-content:center;width:32px}
.contract-steps li.active{color:#fff;font-weight:800}
.contract-steps li.active .contract-step-number{background:var(--green);border-color:var(--green);color:var(--navy)}
.contract-steps li.complete{color:#c8d5de}
.contract-steps li.complete .contract-step-number{background:#25445d;border-color:#44637b;color:var(--green)}
.contract-support{align-items:flex-start;border-top:1px solid #263e53;display:flex;gap:12px;padding-top:22px}
.contract-support>span{align-items:center;background:rgba(143,198,47,.15);border-radius:50%;color:var(--green);display:flex;flex:0 0 34px;font-weight:800;height:34px;justify-content:center}
.contract-support strong{font-size:.8125rem}
.contract-support p{color:#aebbc8;font-size:.75rem;margin:5px 0 0}
.contract-support a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.contract-form-card{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 20px 55px rgba(7,22,42,.08);min-height:440px;padding:40px 42px}
.contract-loading{color:var(--muted);padding:60px 20px;text-align:center}
.contract-form-card .section-tag{color:var(--green-dark);font-size:.6875rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.contract-form-card h2{font-size:clamp(2rem,4vw,3rem);margin:12px 0}
.contract-form-card .help{color:var(--muted);font-size:.875rem;line-height:1.65;margin:5px 0 22px}
.service-grid{display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin:24px 0}
.tile{background:#fff;border:1px solid var(--line);border-radius:15px;min-height:130px;padding:18px;text-align:left;transition:.18s ease}
.tile:hover,.tile:focus-visible{border-color:var(--green-dark);box-shadow:0 0 0 3px rgba(143,198,47,.18);outline:0}
.tile.chosen{background:#f6faee;border:2px solid var(--green-dark);padding:17px}
.tile-icon{align-items:center;background:#edf6dd;border-radius:10px;color:var(--green-dark);display:flex;font-size:1.25rem;height:38px;justify-content:center;margin-bottom:13px;width:38px}
.tile strong,.tile small{display:block}
.tile strong{color:var(--navy);font-family:Manrope,sans-serif;font-size:.875rem}
.tile small{color:var(--muted);font-size:.6875rem;line-height:1.45;margin-top:5px}
.actions{align-items:center;display:flex;gap:10px;justify-content:flex-end;margin-top:26px}
.contract-page .btn{align-items:center;background:#edf2e7;border:1px solid transparent;border-radius:999px;color:var(--navy);display:inline-flex;font-size:.8125rem;font-weight:800;justify-content:center;min-height:48px;padding:0 22px;text-decoration:none;transition:.18s ease}
.contract-page .btn.primary{background:var(--green);color:var(--navy)}
.contract-page .btn.primary:hover:enabled{box-shadow:0 10px 24px rgba(7,22,42,.15);transform:translateY(-1px)}
.contract-page .btn.outline{background:#fff;border-color:var(--line)}
.contract-page .btn.full{width:100%}
.contract-page .btn:disabled{cursor:not-allowed;opacity:.48}
.contract-page label.field-label{display:block;font-size:.8125rem;font-weight:800;margin:0 0 8px}
.text-input{background:#fbfcfa;border:1px solid #b9c5ce;border-radius:12px;color:var(--ink);font-size:1rem;outline:0;padding:15px 16px;width:100%}
.text-input:focus{border-color:var(--green-dark);box-shadow:0 0 0 3px rgba(143,198,47,.18)}
.search-row{display:flex;gap:10px}
.search-row .text-input{flex:1}
.result-list{display:grid;gap:9px;margin:16px 0}
.result{align-items:center;background:#fafcf8;border:1px solid var(--line);border-radius:13px;color:var(--navy);display:flex;justify-content:space-between;padding:17px;text-align:left}
.result:hover{border-color:var(--green-dark)}
.result strong{font-size:.875rem}
.result small{color:var(--muted);display:block;font-size:.75rem;margin-top:4px}
.option-list{display:grid;gap:12px;margin:22px 0}
.option{align-items:center;border:1px solid var(--line);border-radius:13px;cursor:pointer;display:flex;gap:12px;padding:16px}
.option input{accent-color:var(--green-dark);height:18px;width:18px}
.option strong{display:block;font-size:.875rem}
.option small{color:var(--muted);display:block;font-size:.75rem;margin-top:4px}
.note,.warning,.error{border-radius:12px;font-size:.8125rem;line-height:1.55;margin:15px 0;padding:14px 16px}
.note{background:#f0f7e5;border:1px solid #d4e8b5;color:#36571b}
.warning{background:#fff5e6;border:1px solid #f1ddb6;color:#765324}
.error{background:#fff0ec;border:1px solid #f1c8bb;color:#a94736}
.code-input{font-size:1.5rem;font-weight:800;letter-spacing:.4em;max-width:230px;text-align:center}
.property-list{display:grid;gap:11px;margin:20px 0}
.property{align-items:center;background:#fff;border:1px solid var(--line);border-radius:13px;display:flex;gap:13px;padding:16px;text-align:left;width:100%}
.property.selected{background:#f6faee;border:2px solid var(--green-dark);padding:15px}
.pin{background:#edf6dd;border-radius:9px;color:var(--green-dark);padding:11px}
.property strong{display:block;font-size:.875rem}
.property small{color:var(--muted);display:block;font-size:.75rem;margin-top:4px}
.check{color:var(--green-dark);font-weight:800;margin-left:auto}
.agreement-summary{background:#f4f7f1;border-radius:13px;font-size:.8125rem;line-height:1.9;margin:20px 0;padding:18px}
.agreement-preview{background:#fff;border:1px solid var(--line);border-radius:12px;height:440px;width:100%}
.consent{align-items:flex-start;display:flex;font-size:.8125rem;gap:11px;line-height:1.55;margin-top:18px}
.consent input{accent-color:var(--green-dark);flex:none;height:18px;margin-top:1px;width:18px}
.contract-setup-list{display:grid;gap:10px;list-style:none;margin:22px 0;padding:0}
.contract-setup-list li{align-items:flex-start;background:#f7f9f5;border:1px solid var(--line);border-radius:13px;display:flex;font-size:.8125rem;gap:12px;padding:14px 16px}
.contract-setup-list li::before{align-items:center;background:var(--green);border-radius:50%;color:var(--navy);content:"✓";display:flex;flex:0 0 22px;font-size:.6875rem;font-weight:900;height:22px;justify-content:center}
.contract-complete-card{margin:0 auto;max-width:760px}
@media(max-width:900px){.contract-hero-inner{gap:35px;grid-template-columns:1fr;min-height:0;padding-block:58px}.contract-privacy-card{max-width:570px}.contract-content-grid{grid-template-columns:1fr}.contract-sidebar{padding:20px;position:static}.contract-steps{display:flex;flex-wrap:wrap;gap:10px;margin:15px 0}.contract-steps li span:last-child{display:none}.contract-support{padding-top:14px}}
@media(max-width:600px){.contract-hero-copy h1{font-size:2.7rem}.contract-workspace{padding:24px 0 70px}.contract-status-banner{align-items:flex-start;flex-direction:column;text-align:left}.contract-form-card{padding:26px 20px}.service-grid{grid-template-columns:1fr}.search-row{flex-direction:column}.actions{align-items:stretch;flex-direction:column-reverse}.actions .btn{width:100%}.contract-page .container{padding-inline:17px}}
