
body.contract-page{background:#f3eee6;color:#171717;font-family:Manrope,Arial,sans-serif}
.contract-main{background:#f3eee6}
.contract-hero{padding:84px 0 44px;background:#f3eee6}
.contract-hero--knowledge{padding-top:96px}
.contract-hero--compact{padding-bottom:28px}
.contract-hero__inner{max-width:980px}
.contract-kicker{margin:0 0 14px;color:#8b6a41;font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-size:12px}
.contract-hero h1,.contract-article-hero h1{margin:0;max-width:980px;font-family:Marcellus,Georgia,serif;font-size:clamp(48px,7vw,96px);line-height:.96;font-weight:400;letter-spacing:0}
.contract-hero p,.contract-article-hero p{max-width:760px;margin:24px 0 0;color:#4d4942;font-size:20px;line-height:1.55}
.contract-tools{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:22px;align-items:end;margin-bottom:30px}
.contract-search label{display:block;margin-bottom:8px;color:#665f52;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.12em}
.contract-search input{width:100%;box-sizing:border-box;border:1px solid rgba(23,23,23,.15);border-radius:14px;background:#fffaf0;padding:15px 16px;font:inherit;color:#171717}
.contract-chips{display:flex;flex-wrap:wrap;gap:10px}
.contract-chip{border:1px solid rgba(23,23,23,.15);background:#f9f4ea;color:#3b372f;padding:10px 14px;border-radius:14px;font:inherit;font-weight:700;cursor:pointer}
.contract-chip.is-active,.contract-chip:hover{background:#171717;color:#f8f1e6}
.contract-feed{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding-bottom:72px}
.contract-card{display:flex;min-height:520px;flex-direction:column;background:#fffaf0;color:#171717;text-decoration:none;border:1px solid rgba(23,23,23,.12);border-radius:26px;overflow:hidden;box-shadow:0 22px 70px rgba(21,20,16,.10);transition:transform .18s ease,box-shadow .18s ease}
.contract-card:hover{transform:translateY(-3px);box-shadow:0 30px 90px rgba(20,20,16,.16)}
.contract-card[hidden]{display:none}
.contract-card__media{height:330px;margin:0;background:#ded6c8;overflow:hidden}
.contract-card__media img{display:block;width:100%;height:100%;object-fit:cover}
.contract-card__body{padding:22px 22px 26px}
.contract-card__category{display:block;margin-bottom:12px;color:#8b6a41;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:800}
.contract-card h2{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 12px;font-size:23px;line-height:1.12;font-weight:700;letter-spacing:0}
.contract-card p{margin:0;color:#5f5a50;font-size:15px;line-height:1.5}
.contract-article-hero{padding:72px 0 30px}
.contract-article-layout{display:grid;grid-template-columns:minmax(0,820px) 286px;gap:56px;align-items:start}
.contract-article-content{grid-column:1;grid-row:1;min-width:0}
.contract-article-content article{max-width:820px}
.contract-article-content .section{padding:0;background:transparent}
.contract-article-content .hero{min-height:0;padding:0;background:transparent;color:inherit;display:block}
.contract-article-aside{grid-column:2;grid-row:1;position:sticky;top:112px;align-self:start}
.contract-side-toc{border:1px solid rgba(23,23,23,.12);border-radius:22px;background:rgba(255,250,240,.94);padding:18px;box-shadow:0 18px 56px rgba(30,24,16,.11);backdrop-filter:blur(10px)}
.contract-side-toc .toc{margin:0;padding:0;background:transparent;border:0}
.contract-side-toc .toc-title{margin:0 0 10px;color:#8b6a41;text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:800}
.contract-side-toc .toc a{display:block;padding:9px 0;border-top:1px solid rgba(23,23,23,.08);color:#4d4942;text-decoration:none;font-size:14px;line-height:1.3}
.contract-side-toc .toc a:hover{color:#171717}
.contract-side-cta,.contract-side-back{display:block;margin-top:12px;text-align:center;text-decoration:none;border-radius:999px;padding:11px 12px;font-weight:700;font-size:14px}
.contract-side-cta{background:#171717;color:#f8f1e6}
.contract-side-back{border:1px solid rgba(23,23,23,.14);color:#342f28;background:#fffaf0}
.contract-article-content h2{font-size:34px;line-height:1.12;margin:40px 0 14px}
.contract-article-content p,.contract-article-content li{font-size:18px;line-height:1.72;color:#342f28}
.contract-article-content figure{margin:34px 0;background:#fffaf0;border:1px solid rgba(23,23,23,.10);border-radius:18px;overflow:hidden}
.contract-article-content figure img{display:block;width:100%;height:auto}
.contract-article-content figcaption{padding:14px 18px;color:#625c51;font-size:14px;line-height:1.45}
.contract-related,.contract-cta-band{margin-top:44px;margin-bottom:56px}
.contract-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.contract-related-card{display:block;padding:20px;background:#fffaf0;border:1px solid rgba(23,23,23,.12);border-radius:18px;color:#171717;text-decoration:none}
.contract-related-card b{display:block;margin-bottom:8px}
.contract-related-card span{color:#5f5a50;font-size:14px;line-height:1.45}
.contract-cta-band{padding:34px;background:#171717;color:#f8f1e6;border-radius:26px}
.contract-cta-band p{max-width:680px;color:#e2d8c7}
.contract-intake{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:34px;padding-bottom:72px}
.contract-intake__copy,.contract-form{background:#fffaf0;border:1px solid rgba(23,23,23,.12);border-radius:26px;padding:28px}
.contract-form{display:grid;gap:18px}
.contract-form label{display:grid;gap:8px;color:#4d4942;font-weight:700}
.contract-form input,.contract-form select,.contract-form textarea{width:100%;box-sizing:border-box;border:1px solid rgba(23,23,23,.15);border-radius:14px;background:#fff;padding:14px 15px;font:inherit;color:#171717}
.contract-form textarea{min-height:120px}
.contract-form__actions{display:flex;flex-wrap:wrap;gap:12px}
@media(max-width:1080px){.contract-article-layout{grid-template-columns:1fr;gap:26px}.contract-article-content{grid-column:1;grid-row:2}.contract-article-aside{grid-column:1;grid-row:1;position:static}.contract-side-toc{box-shadow:none}.contract-feed,.contract-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contract-tools,.contract-intake{grid-template-columns:1fr}.contract-card{min-height:480px}.contract-card__media{height:300px}}
@media(max-width:640px){.contract-hero{padding:48px 0 28px}.contract-hero h1,.contract-article-hero h1{font-size:44px}.contract-feed,.contract-related-grid{grid-template-columns:1fr}.contract-card{min-height:auto}.contract-card__media{height:260px}.contract-article-content h2{font-size:28px}.contract-article-content p,.contract-article-content li{font-size:16px}}
