.af-service-page { overflow: hidden; }
.af-service-hero { position: relative; min-height: 460px; display: grid; align-items: center; color: #fff; background: var(--af-navy); isolation: isolate; }
.af-service-hero__media, .af-service-hero__overlay { position: absolute; inset: 0; z-index: -2; }
.af-service-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.af-service-hero__overlay { z-index: -1; background: linear-gradient(90deg, rgba(5, 45, 53, .95) 0%, rgba(5, 45, 53, .79) 46%, rgba(5, 45, 53, .28) 100%); }
.af-service-hero__content { padding: 68px 0 72px; max-width: 880px; }
.af-service-hero .af-breadcrumb { margin-bottom: 28px; }
.af-service-hero .af-breadcrumb, .af-service-hero .af-breadcrumb a { color: rgba(255,255,255,.83); }
.af-kicker--light { color: #8cf0bd; }
.af-service-hero h1 { margin: 12px 0 20px; max-width: 830px; font-size: clamp(2.35rem, 5vw, 4.65rem); line-height: .98; letter-spacing: -.05em; }
.af-service-hero__intro { max-width: 690px; margin: 0; font-size: clamp(1rem, 1.6vw, 1.19rem); line-height: 1.65; color: rgba(255,255,255,.9); }
.af-service-hero .af-page-hero__actions { margin-top: 30px; }
.af-service-hero .af-button--secondary { border-color: rgba(255,255,255,.72); color: #fff; }
.af-service-feedback { margin-top: 28px; padding: 15px 18px; border: 1px solid #98dcb2; border-radius: 14px; color: #075f34; background: #ecf9f0; font-weight: 700; }
.af-service-section { padding-block: clamp(62px, 8vw, 112px); }
.af-service-section--soft { background: linear-gradient(135deg, #f2f8f6, #f7fbfc); }
.af-service-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: 44px 0 0; padding: 0; list-style: none; counter-reset: service-step; }
.af-service-steps li { position: relative; min-height: 180px; padding: 25px; border: 1px solid rgba(5,45,53,.1); border-radius: 20px; background: #fff; box-shadow: 0 18px 42px rgba(5,45,53,.06); }
.af-service-steps__number { color: var(--af-green); font-size: .8rem; font-weight: 800; letter-spacing: .12em; }
.af-service-steps__icon { display: grid; place-items: center; width: 42px; height: 42px; margin: 18px 0; border-radius: 14px; background: #e9f7ef; color: var(--af-green); }
.af-service-steps h3 { margin: 0; font-size: 1.03rem; line-height: 1.35; }
.af-service-item-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 38px; }
.af-service-item-grid article { min-height: 138px; padding: 23px; border-radius: 18px; background: #fff; border: 1px solid rgba(5,45,53,.08); }
.af-service-item-grid span { display: grid; place-items: center; width: 38px; height: 38px; margin-bottom: 16px; border-radius: 12px; color: var(--af-green); background: #e9f7ef; }
.af-service-item-grid h3 { margin: 0; font-size: 1rem; line-height: 1.35; }
.af-service-departures { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; max-width: 780px; margin: 38px auto 0; }
.af-service-departures article { padding: 28px; border-radius: 21px; color: #fff; background: linear-gradient(145deg, var(--af-navy), #14606b); box-shadow: 0 18px 36px rgba(5,45,53,.12); }
.af-service-departures span { display: grid; place-items: center; width: 43px; height: 43px; border-radius: 14px; color: #8cf0bd; background: rgba(140,240,189,.12); }
.af-service-departures p { margin: 18px 0 0; color: #8cf0bd; font-size: .76rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.af-service-departures h3 { margin: 7px 0 12px; font-size: 1.7rem; }
.af-service-departures small { color: rgba(255,255,255,.78); line-height: 1.5; }
.af-service-pricing { display: grid; grid-template-columns: 1.15fr .85fr; gap: 48px; align-items: center; padding: clamp(28px, 5vw, 58px); border-radius: 28px; color: #fff; background: linear-gradient(125deg, var(--af-navy), #125562); box-shadow: 0 28px 54px rgba(5,45,53,.15); }
.af-service-pricing h2 { margin: 10px 0 14px; font-size: clamp(1.8rem, 3vw, 2.8rem); }
.af-service-pricing p { margin: 0; max-width: 600px; color: rgba(255,255,255,.78); line-height: 1.6; }
.af-service-pricing__amounts { display: grid; justify-items: start; gap: 8px; }
.af-service-pricing__amounts strong { color: #91f5c3; font-size: clamp(2.2rem, 4vw, 3.7rem); letter-spacing: -.06em; }
.af-service-pricing__amounts span { margin-bottom: 16px; font-weight: 700; }
.af-service-pricing .af-button { background: #1a9b55; }
.af-service-volume { display: grid; grid-template-columns: 74px minmax(0, 1.3fr) minmax(260px, .7fr); gap: 32px; align-items: start; padding: clamp(24px, 4vw, 46px); border-radius: 26px; background: #fff; border: 1px solid rgba(5,45,53,.1); }
.af-service-volume > span { display: grid; place-items: center; width: 66px; height: 66px; border-radius: 20px; color: var(--af-green); background: #e6f7ed; }
.af-service-volume h2 { margin: 8px 0 12px; font-size: clamp(1.6rem, 3vw, 2.45rem); }
.af-service-volume p { margin: 0; color: var(--af-muted); line-height: 1.65; }
.af-service-volume aside { padding: 20px; border-radius: 18px; background: #edf7f3; }
.af-service-volume aside strong { display: block; margin-bottom: 8px; }
.af-service-volume aside p { font-size: .94rem; }
.af-service-volume aside a { display: inline-flex; gap: 8px; align-items: center; margin-top: 16px; color: var(--af-green); font-weight: 800; text-decoration: none; }
.af-service-volume aside svg { width: 18px; }
.af-service-notice { display: grid; grid-template-columns: 58px minmax(0,1fr) auto; gap: 22px; align-items: center; padding: 28px 32px; border-radius: 22px; background: #fff9e9; border: 1px solid #f4df9d; }
.af-service-notice > span { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 17px; background: #f7d868; color: #594200; }
.af-service-notice h2 { margin: 0 0 7px; font-size: 1.25rem; }
.af-service-notice p { margin: 0; color: var(--af-muted); line-height: 1.55; }
.af-regulated-products { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 38px; }
.af-regulated-products article { padding: 24px; border-radius: 20px; border: 1px solid rgba(5,45,53,.1); background: #fff; }
.af-regulated-products h3 { margin: 15px 0 10px; font-size: 1.1rem; }
.af-regulated-products img { width: 100%; max-height: 170px; margin: 0 0 16px; border-radius: 12px; object-fit: cover; }
.af-regulated-products p, .af-regulated-products small { display: block; margin: 0; color: var(--af-muted); line-height: 1.55; }
.af-regulated-products small { margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(5,45,53,.08); font-weight: 700; }
.af-regulated-products__status { display: inline-flex; padding: 6px 9px; border-radius: 999px; background: #eef5f3; color: var(--af-green); font-size: .72rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.af-regulated-products__status--non-accepte { background: #feeceb; color: #b12722; }
.af-regulated-products__status--sous-conditions, .af-regulated-products__status--nous-consulter { background: #fff4d7; color: #8c5f00; }
.af-service-form-panel { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(28px,5vw,70px); padding: clamp(25px,5vw,60px); border: 1px solid rgba(5,45,53,.09); border-radius: 28px; background: #fff; }
.af-service-form-panel h2 { margin: 8px 0 14px; font-size: clamp(1.8rem, 3vw, 2.75rem); }
.af-service-form-panel > div > p:not(.af-kicker) { color: var(--af-muted); line-height: 1.65; }
.af-service-form { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.af-service-form label { display: grid; gap: 7px; color: var(--af-text); font-size: .88rem; font-weight: 700; }
.af-service-form input, .af-service-form textarea { width: 100%; min-height: 46px; padding: 11px 12px; border: 1px solid #d7e1df; border-radius: 11px; background: #fff; color: var(--af-text); font: inherit; }
.af-service-form textarea { min-height: 104px; resize: vertical; }
.af-service-form__full { grid-column: 1 / -1; }
.af-service-form .af-button { justify-self: start; border: 0; cursor: pointer; }
.af-service-faq { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 36px; }
.af-service-faq details { min-height: 150px; padding: 22px; border: 1px solid rgba(5,45,53,.1); border-radius: 18px; background: #fff; }
.af-service-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; cursor: pointer; font-weight: 800; line-height: 1.4; list-style: none; }
.af-service-faq summary::-webkit-details-marker { display: none; }
.af-service-faq summary::after { content: '+'; flex: 0 0 auto; color: var(--af-green); font-size: 1.5rem; font-weight: 500; }
.af-service-faq details[open] summary::after { content: '−'; }
.af-service-faq p { margin: 16px 0 0; color: var(--af-muted); line-height: 1.6; }
.af-service-related { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 40px; }
.af-service-related a { display: grid; gap: 15px; min-height: 190px; padding: 26px; border: 1px solid rgba(5,45,53,.1); border-radius: 20px; color: var(--af-text); text-decoration: none; background: #fff; transition: transform .2s ease, box-shadow .2s ease; }
.af-service-related a:hover { transform: translateY(-4px); box-shadow: 0 18px 36px rgba(5,45,53,.09); }
.af-service-related a > span { display: grid; place-items: center; width: 43px; height: 43px; border-radius: 14px; color: var(--af-green); background: #e9f7ef; }
.af-service-related strong { font-size: 1.05rem; line-height: 1.35; }
.af-service-related small { display: inline-flex; align-items: center; gap: 6px; color: var(--af-green); font-size: .85rem; font-weight: 800; }
.af-service-related svg { width: 18px; }
.af-final-cta__actions { display: flex; flex-wrap: wrap; gap: 12px; }

@media (max-width: 1000px) { .af-service-steps { grid-template-columns: repeat(2,1fr); } .af-service-item-grid { grid-template-columns: repeat(3,1fr); } .af-service-volume { grid-template-columns: 62px 1fr; } .af-service-volume aside { grid-column: 2; } .af-service-pricing, .af-service-form-panel { grid-template-columns: 1fr; } .af-regulated-products, .af-service-faq { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 700px) { .af-service-hero { min-height: 500px; } .af-service-hero__overlay { background: linear-gradient(90deg, rgba(5,45,53,.93), rgba(5,45,53,.66)); } .af-service-hero__content { padding-block: 48px; } .af-service-hero h1 { font-size: clamp(2.2rem, 12vw, 3.25rem); } .af-service-steps, .af-service-item-grid, .af-service-related, .af-service-departures, .af-regulated-products, .af-service-faq { grid-template-columns: 1fr; } .af-service-steps li { min-height: 0; } .af-service-item-grid article { min-height: 0; } .af-service-volume { grid-template-columns: 1fr; gap: 20px; } .af-service-volume aside { grid-column: auto; } .af-service-notice { grid-template-columns: 1fr; padding: 24px; } .af-service-notice .af-button { width: 100%; justify-content: center; } .af-service-form { grid-template-columns: 1fr; } .af-service-form .af-button { width: 100%; justify-content: center; } }
