/* Page Contrats — formules approuvées depuis la maquette */
/* Hero pleine largeur : image derrière le titre, comme sur Services. */
.contracts-hero {
 position: relative;
 isolation: isolate;
 overflow: hidden;
 display: flex;
 flex-direction: column;
 justify-content: center;
 min-height: 580px;
 padding: 64px max(48px, calc((100% - 1280px) / 2)) 40px;
 background: #090a08;
 color: #f3f0e9;
}
.contracts-hero::before {
 content: "";
 position: absolute;
 inset: 0;
 z-index: -2;
 background: url('/assets/images/machine-hero.png') 65% center / cover no-repeat;
}
.contracts-hero::after {
 content: "";
 position: absolute;
 inset: 0;
 z-index: -1;
 background:
  linear-gradient(0deg, rgba(9,10,8,.95) 0%, rgba(9,10,8,.3) 28%, transparent 58%),
  linear-gradient(90deg, #090a08 0%, rgba(9,10,8,.94) 27%, rgba(9,10,8,.48) 58%, rgba(9,10,8,.05) 100%);
 pointer-events: none;
}
.contracts-hero-copy { max-width: 810px; }
.contracts-hero h1 {
 margin: 22px 0 26px;
 font: 700 clamp(48px, 5.5vw, 82px)/1.01 "Barlow Condensed", sans-serif;
 letter-spacing: -1px;
 text-transform: uppercase;
}
.contracts-rule { display: block; width: 46px; height: 1px; background: var(--orange); }
.contracts-hero-copy > p { max-width: 440px; margin-top: 24px; font-size: 15px; line-height: 1.75; }
.contracts-benefits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 48px; }
.contracts-benefits > div { padding: 0 28px; border-left: 1px solid rgba(255,255,255,.18); }
.contracts-benefits > div:first-child { border: 0; padding-left: 0; }
.contracts-benefits svg { width: 38px; height: 38px; fill: none; stroke: var(--orange); stroke-width: 1.1; }
.contracts-benefits h2 { margin: 14px 0 7px; font: 600 13px/1.4 "Inter", sans-serif; text-transform: uppercase; }
.contracts-benefits p { margin: 0; font-size: 13px; line-height: 1.6; color: #ccc6bd; }
.contracts-offers { padding: 44px clamp(22px, 4vw, 72px); background: var(--cream); color: #171715; }
.contracts-offers > h2 { margin: 0 0 14px; text-align: center; font: 600 clamp(28px, 2.6vw, 38px)/1.1 "Barlow Condensed", sans-serif; letter-spacing: .06em; text-transform: uppercase; }
.contracts-offers > .contracts-rule { margin: 0 auto 34px; }
.contracts-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.contract-plan { position: relative; display: flex; flex-direction: column; border: 1px solid #aaa49b; padding: 34px 28px 26px; min-width: 0; }
.contract-plan-featured { border-color: var(--orange); }
.contract-badge { position: absolute; top: 0; left: 28px; transform: translateY(-50%); padding: 6px 12px; background: var(--orange); color: white; font: 600 12px/1.2 "Barlow Condensed", sans-serif; text-transform: uppercase; letter-spacing: .05em; }
.contract-plan h3 { margin: 0 0 12px; font: 600 30px/1.1 "Barlow Condensed", sans-serif; text-transform: uppercase; }
.contract-summary { margin: 0; font-size: 14px; line-height: 1.55; min-height: 66px; max-width: 250px; }
.contract-plan ul { list-style: none; padding: 0; margin: 24px 0 32px; }
.contract-plan li { position: relative; padding-left: 19px; margin-bottom: 12px; font-size: 13px; line-height: 1.55; }
.contract-plan li::before { content: "✓"; position: absolute; left: 0; top: 2px; display: grid; place-items: center; width: 12px; height: 12px; border-radius: 50%; color: white; background: var(--orange); font-size: 9px; }
.contract-price-block { margin-top: auto; border-top: 1px solid #ccc5ba; padding-top: 24px; }
.contract-price-block > span { font-size: 11px; text-transform: uppercase; }
.contract-price { display: flex; align-items: baseline; gap: 18px; margin: 4px 0 20px; }
.contract-price strong { font: 600 48px/1 "Barlow Condensed", sans-serif; }
.contract-price > span { font: 400 17px/1 "Barlow Condensed", sans-serif; text-transform: uppercase; }
.contract-button { display: flex; align-items: center; justify-content: center; gap: 16px; min-height: 46px; padding: 12px; border: 1px solid #99938b; font: 600 14px/1.3 "Barlow Condensed", sans-serif; text-transform: uppercase; letter-spacing: .04em; }
.contract-plan-featured .contract-button { background: var(--orange); color: #fff; border-color: var(--orange); }
.contract-button:hover { background: #171715; color: white; border-color: #171715; }
.contracts-price-note { margin: 28px 0 0; font-size: 12px; line-height: 1.6; color: #514c45; }
.contracts-custom { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 56px; padding: 44px clamp(22px, 4vw, 72px); background: #090909; }
.contracts-custom h2 { margin: 16px 0; font: 600 clamp(32px, 3.2vw, 48px)/1.05 "Barlow Condensed", sans-serif; text-transform: uppercase; }
.contracts-custom p { max-width: 440px; color: #ccc6bd; font-size: 15px; line-height: 1.7; }
.contracts-custom .contract-button { width: fit-content; border-color: var(--orange); margin-top: 24px; padding-inline: 22px; }
.contracts-custom .contract-button:hover { background: var(--orange); }
.contracts-custom-detail { padding: 32px; border-left: 1px solid #35312c; }
.contracts-custom-detail > span:first-child { font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: #aaa399; }
.contracts-custom-detail p { font: 600 42px/1.1 "Barlow Condensed", sans-serif; text-transform: uppercase; }
.contact-interest { padding: 20px clamp(22px, 4vw, 72px); border-bottom: 1px solid var(--line-dark); color: var(--white); font-size: 16px; }
@media (max-width: 1000px) { .contracts-grid { gap: 16px; } .contract-plan { padding: 30px 18px 22px; } .contract-badge { left: 18px; } .contract-price { gap: 12px; } }
@media (max-width: 760px) {
 .contracts-hero { min-height: 640px; padding: 150px 20px 32px; justify-content: flex-end; }
 .contracts-hero h1 { font-size: clamp(41px, 8vw, 57px); letter-spacing: -.4px; }
 .contracts-hero-copy > p { font-size: 13px; margin-top: 20px; }
 .contracts-hero::after { background: linear-gradient(0deg, #090a08 0%, rgba(9,10,8,.96) 35%, rgba(9,10,8,.68) 65%, rgba(9,10,8,.15) 100%); }
 .contracts-hero::before { opacity: 1; inset: 0; background-position: 72% top; }
 .contracts-benefits { grid-template-columns: 1fr; gap: 22px; margin-top: 32px; }
 .contracts-benefits > div { border-left: 0; border-top: 1px solid #35312c; padding: 22px 0 0; }
 .contracts-benefits > div:first-child { padding-top: 0; }
 .contracts-grid { grid-template-columns: 1fr; gap: 28px; }
 .contract-plan { padding: 32px 24px 24px; }
 .contract-summary { min-height: 0; max-width: none; }
 .contract-plan h3 { font-size: 34px; }
 .contract-plan li { font-size: 14px; }
 .contracts-custom { grid-template-columns: 1fr; gap: 24px; }
 .contracts-custom-detail { padding: 24px 0 0; border-left: 0; border-top: 1px solid #35312c; }
}

@media (min-width: 1600px) { .contracts-hero { min-height: 650px; } }
@media (min-width: 761px) and (max-width: 1000px) { .contracts-hero { padding-inline: 28px; } }
