.nav .nav-ingx { color: rgb(19, 36, 41); background: rgb(101, 213, 223); padding: 12px 16px; font-weight: 700; }
.nav .nav-ingx:hover { color: rgb(19, 36, 41); background: rgb(166, 242, 228); }
.choice-hero { padding-top: 70px; }
.choice-hero h1 { max-width: 920px; }
.choice-lead { max-width: 760px; color: rgb(201, 211, 212); font-size: 1.1rem; margin: 28px 0px 42px; }
.path-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.path-card { min-height: 510px; position: relative; overflow: hidden; display: flex; align-items: flex-end; border: 1px solid rgba(255, 255, 255, 0.14); }
.path-card > img { position: absolute; inset: 0px; width: 100%; height: 100%; object-fit: cover; }
.path-card::after { content: ""; position: absolute; inset: 0px; background: linear-gradient(0deg, rgba(13, 26, 31, 0.96) 0%, rgba(13, 26, 31, 0.8) 48%, rgba(13, 26, 31, 0.12) 100%); }
.path-ingx::after { background: linear-gradient(0deg, rgba(101, 213, 223, 0.99) 0%, rgba(101, 213, 223, 0.93) 50%, rgba(101, 213, 223, 0.063) 100%); }
.path-copy { position: relative; z-index: 2; padding: 38px; width: min(100%, 520px); }
.path-copy h2 { font-size: clamp(4rem, 7vw, 6rem); margin: 3px 0px 12px; }
.path-tag { display: inline-block; text-transform: uppercase; letter-spacing: 0.12em; font-size: 0.74rem; font-weight: 700; margin-bottom: 8px; }
.path-copy p { max-width: 410px; }
.path-copy ul { list-style: none; padding: 0px; margin: 0px 0px 28px; display: flex; flex-wrap: wrap; gap: 8px; }
.path-copy li { font-size: 0.82rem; border: 1px solid rgba(255, 255, 255, 0.333); border-radius: 99px; padding: 7px 11px; }
.path-ingx { color: rgb(19, 36, 41); }
.path-ingx .path-copy li { border-color: rgba(19, 36, 41, 0.333); background: rgba(255, 255, 255, 0.208); }
.ingx-wordmark { font-size: clamp(4rem, 7vw, 6rem); font-weight: 900; line-height: 0.9; letter-spacing: -0.08em; margin: 12px 0px 20px; }
.ingx-wordmark small { display: block; font-size: 0.72rem; letter-spacing: 0.15em; text-transform: uppercase; margin: 11px 0px 0px 5px; }
.button-ink { background: rgb(23, 39, 51); color: rgb(255, 255, 255); }
.button-ink:hover { background: rgb(38, 61, 78); }
.services-pro { grid-template-columns: repeat(2, 1fr); }
.ingx-bridge { background: rgb(101, 213, 223); }
.bridge-grid { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 90px; align-items: end; }
.bridge-grid h2 { margin-top: 32px; max-width: 700px; }
.bridge-grid > div:last-child p { font-size: 1.08rem; }
.ingx-page { --aqua: #65d5df; --aqua-light: #c5f5ee; --sun: #f4ca55; --coral: #ff6a47; --navy: #172733; --cream: #fff9ed; color: var(--navy); background: var(--cream); }
.ingx-page h1, .ingx-page h2, .ingx-page h3 { font-weight: 750; }
.ingx-header { background: var(--cream); border-bottom: 2px solid var(--navy); position: relative; z-index: 20; }
.ingx-header-inner { height: 92px; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.ingx-brand { text-decoration: none; display: grid; grid-template-columns: auto auto; column-gap: 12px; align-items: end; }
.ingx-brand strong { font-size: 2.35rem; line-height: 0.85; letter-spacing: -0.08em; }
.ingx-brand span { font-weight: 700; font-size: 0.83rem; }
.ingx-brand small { grid-column: 1 / -1; font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.15em; margin-top: 6px; }
.ingx-nav { color: var(--navy); }
.ingx-nav a:hover { color: rgb(167, 47, 24); }
.ingx-nav .nav-contact { border-color: var(--navy); }
.menu-dark { color: var(--navy); border-color: var(--navy); }
.ingx-hero { background: var(--aqua); border-bottom: 2px solid var(--navy); overflow: hidden; }
.ingx-hero-grid { min-height: 690px; display: grid; grid-template-columns: 0.9fr 1.1fr; align-items: stretch; }
.ingx-hero-copy { padding: 90px 20px 70px 0px; align-self: center; position: relative; z-index: 2; }
.ingx-hero-copy h1 { font-size: clamp(3.5rem, 6vw, 6.3rem); line-height: 0.92; letter-spacing: -0.065em; }
.ingx-hero-copy h1 em { font-style: normal; color: rgb(167, 47, 24); }
.ingx-hero-copy > p:not(.eyebrow) { font-size: 1.1rem; max-width: 590px; margin-top: 30px; }
.hero-actions { display: flex; align-items: center; gap: 24px; margin-top: 32px; }
.soft-link { font-weight: 700; }
.hero-proof { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 42px; }
.hero-proof span { border: 1px solid var(--navy); border-radius: 99px; padding: 8px 12px; font-size: 0.78rem; font-weight: 700; background: rgba(255, 255, 255, 0.196); }
.ingx-hero-art { position: relative; min-width: 56vw; }
.ingx-hero-art img { position: absolute; inset: 0px; height: 100%; object-fit: cover; object-position: center center; }
.orientation { padding: 110px 0px; background: var(--cream); }
.orientation-grid { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 80px; align-items: start; }
.orientation-intro h2 { font-size: clamp(2.4rem, 4vw, 4.2rem); line-height: 1.02; }
.orientation-intro > p:not(.eyebrow) { margin-top: 25px; color: rgb(72, 85, 94); }
.scope-cards { margin-top: 42px; display: grid; gap: 14px; }
.scope-cards > div { border: 2px solid var(--navy); padding: 20px; background: rgb(255, 255, 255); }
.scope-cards > div:last-child { background: rgb(255, 230, 222); }
.scope-cards strong, .scope-cards span { display: block; }
.scope-cards span { font-size: 0.88rem; line-height: 1.55; margin-top: 6px; }
.chat-card { background: rgb(255, 255, 255); border: 2px solid var(--navy); box-shadow: 10px 10px 0 var(--sun); }
.chat-head { min-height: 78px; background: var(--navy); color: rgb(255, 255, 255); display: flex; align-items: center; gap: 14px; padding: 14px 18px; }
.bot-face { width: 44px; height: 44px; background: var(--aqua); color: var(--navy); display: grid; place-items: center; border-radius: 50%; font-weight: 900; }
.chat-head strong, .chat-head small { display: block; }
.chat-head small { font-size: 0.75rem; color: rgb(203, 217, 223); margin-top: 4px; }
.chat-progress { margin-left: auto; font-size: 0.8rem; font-family: monospace; }
.chat-body { min-height: 440px; padding: 38px; }
.chat-step { border: 0px; padding: 0px; margin: 0px; }
.chat-step legend { font-size: 1.75rem; line-height: 1.2; font-weight: 800; letter-spacing: -0.03em; }
.chat-step > p { color: rgb(102, 113, 122); font-size: 0.94rem; margin-top: 10px; }
.field-label { display: block; font-size: 0.82rem; font-weight: 700; margin: 30px 0px 8px; }
.chat-step input { width: 100%; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 1rem; border: 2px solid var(--navy); padding: 15px; background: rgb(255, 253, 248); }
.chat-next { margin-top: 14px; background: var(--coral); color: var(--navy); border: 2px solid var(--navy); padding: 14px 20px; font-weight: 800; cursor: pointer; }
.choice-list { display: grid; gap: 12px; margin-top: 28px; }
.choice-list button { background: rgb(255, 253, 248); border: 2px solid var(--navy); text-align: left; padding: 16px 18px; font-weight: 750; cursor: pointer; transition: transform 0.15s, background 0.15s; }
.choice-list button:hover, .choice-list button:focus-visible { background: var(--aqua-light); transform: translateX(5px); }
.chat-result { text-align: center; padding: 12px 0px; }
.result-icon { display: grid; place-items: center; width: 62px; height: 62px; margin: 0px auto 18px; border: 2px solid var(--navy); border-radius: 50%; background: var(--aqua); font-size: 2rem; font-weight: 900; }
.chat-result h3 { font-size: 2rem; }
.chat-result p { max-width: 540px; margin: 14px auto 24px; }
.result-actions { display: flex; justify-content: center; gap: 12px; align-items: center; }
.result-actions button { background: transparent; border: 0px; text-decoration: underline; cursor: pointer; }
.chat-result small { display: block; margin-top: 22px; color: rgb(102, 113, 122); }
.crack-route { padding: 2px 0px; }
.route-label { display: inline-block; padding: 7px 11px; border: 2px solid var(--navy); background: var(--sun); font-size: 0.72rem; font-weight: 850; text-transform: uppercase; letter-spacing: 0.08em; }
.crack-route h3 { font-size: clamp(1.65rem, 3vw, 2.35rem); line-height: 1.08; margin: 20px 0px 16px; }
.crack-route > p { color: rgb(72, 85, 94); font-size: 0.93rem; line-height: 1.62; }
.crack-route > p + p { margin-top: 13px; }
.route-notice { display: grid; gap: 6px; margin: 20px 0px; padding: 18px; border: 2px solid var(--navy); background: rgb(255, 230, 222); }
.route-notice strong { font-size: 0.95rem; }
.route-notice span { font-size: 0.86rem; line-height: 1.55; }
.crack-route .photo-request { color: var(--navy); }
.crack-route .photo-request strong { display: block; margin-bottom: 5px; }
.route-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 18px; margin-top: 24px; }
.route-actions .soft-link { font-weight: 800; }
.route-actions button { padding: 0px; border: 0px; background: transparent; color: var(--navy); text-decoration: underline; font-weight: 750; cursor: pointer; }
.crack-route > small { display: block; margin-top: 18px; color: rgb(102, 113, 122); line-height: 1.5; }
.ingx-services { background: var(--sun); border-block: 2px solid var(--navy); }
.ingx-service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.ingx-service-grid article { background: var(--cream); border: 2px solid var(--navy); padding: 30px; }
.ingx-service-grid article > span { font-family: monospace; font-weight: 800; }
.ingx-service-grid h3 { font-size: 2rem; margin: 28px 0px 12px; }
.ingx-service-grid p { font-size: 0.95rem; }
.ingx-service-grid ul { margin: 24px 0px 0px; padding: 0px; list-style: none; }
.ingx-service-grid li { border-top: 1px solid rgba(23, 39, 51, 0.333); padding: 9px 0px; font-size: 0.88rem; }
.mandate-process { background: var(--cream); }
.mandate-heading { margin-bottom: 46px; }
.mandate-heading > div:last-child { display: grid; align-content: start; gap: 18px; }
.mandate-heading > div:last-child p { margin: 0; }
.mandate-scope { justify-self: start; border: 2px solid var(--navy); border-radius: 99px; padding: 9px 14px; background: var(--aqua-light); font-size: 0.76rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; }
.mandate-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 0; padding: 0; list-style: none; }
.mandate-steps li { display: grid; grid-template-columns: auto 1fr; gap: 20px; align-items: start; min-height: 250px; padding: 30px; border: 2px solid var(--navy); background: #fff; }
.mandate-steps li:nth-child(2) { background: var(--aqua-light); }
.mandate-steps li:nth-child(4) { background: #ffe6de; }
.mandate-steps li:nth-child(5) { grid-column: 1 / -1; min-height: auto; background: var(--sun); }
.mandate-number { display: inline-grid; place-items: center; width: 46px; height: 46px; border: 2px solid var(--navy); border-radius: 50%; font-family: monospace; font-weight: 850; background: var(--cream); }
.mandate-steps h3 { margin: 4px 0 13px; font-size: 1.35rem; line-height: 1.15; }
.mandate-steps p { margin: 0; font-size: 0.93rem; line-height: 1.65; }
.mandate-warning { margin-top: 16px !important; padding-top: 14px; border-top: 1px solid rgba(23, 39, 51, 0.35); font-weight: 800; }
.mandate-note { display: grid; grid-template-columns: minmax(180px, 0.32fr) 1fr; gap: 30px; margin-top: 18px; padding: 24px 28px; border: 2px solid var(--navy); background: var(--navy); color: #fff; }
.mandate-note strong { font-size: 1.05rem; }
.mandate-note p { margin: 0; color: rgb(215, 225, 229); line-height: 1.6; }
.crack-guide { background: var(--cream); }
.crack-guide .section-heading { margin-bottom: 46px; }
.crack-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.crack-grid article { background: rgb(255, 255, 255); border: 2px solid var(--navy); padding: 30px; }
.crack-grid article:nth-child(2) { background: rgb(255, 230, 222); }
.crack-grid article:nth-child(3) { background: var(--aqua-light); }
.crack-number { display: inline-grid; place-items: center; width: 42px; height: 42px; border: 2px solid var(--navy); border-radius: 50%; font-family: monospace; font-weight: 800; }
.crack-grid h3 { font-size: 1.55rem; margin: 24px 0px 14px; }
.crack-grid p, .crack-grid li { font-size: 0.92rem; line-height: 1.65; }
.crack-grid p + p { margin-top: 14px; }
.crack-grid ul { margin: 18px 0px 0px; padding-left: 20px; }
.crack-grid li + li { margin-top: 8px; }
.scope-note { margin-top: 18px; display: flex; align-items: center; justify-content: space-between; gap: 36px; padding: 28px 30px; border: 2px solid var(--navy); background: var(--sun); }
.scope-note > div { max-width: 820px; }
.scope-note strong { display: block; font-size: 1.15rem; margin-bottom: 8px; }
.scope-note p { margin: 0px; line-height: 1.6; }
.scope-note .button { flex: 0 0 auto; }
.guide-disclaimer { max-width: 900px; margin: 20px 0px 0px; font-size: 0.8rem; color: rgb(72, 85, 94); }
.ingx-story-image { margin: 0; overflow: hidden; background: var(--aqua); }
.ingx-story-image img { display: block; width: 100%; height: auto; aspect-ratio: 8 / 3; object-fit: cover; object-position: center; }
.ingx-prices { background: var(--aqua-light); }
.price-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.price-card { background: rgb(255, 255, 255); border: 2px solid var(--navy); padding: 26px; min-height: 310px; display: flex; flex-direction: column; }
.price-card.featured { background: var(--coral); }
.price-card > span { font-size: 0.75rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; }
.price-card h3 { font-size: 1.35rem; margin: 28px 0px 12px; }
.price-card strong { font-size: 2.55rem; letter-spacing: -0.05em; }
.price-extra { display: block; margin-top: 6px; font-size: 0.76rem; font-weight: 700; line-height: 1.35; color: var(--muted); }
.price-card.featured .price-extra { color: var(--navy); }
.price-card p { font-size: 0.88rem; margin-top: auto; margin-bottom: 0px; }
.all-prices { margin-top: 18px; border: 2px solid var(--navy); background: rgb(255, 255, 255); }
.all-prices summary { font-weight: 800; cursor: pointer; padding: 20px 24px; }
.price-list { padding: 0px 24px 18px; }
.price-list > div { display: flex; justify-content: space-between; gap: 25px; border-top: 1px solid rgba(23, 39, 51, 0.267); padding: 14px 0px; }
.appointment { background: var(--navy); color: rgb(255, 255, 255); }
.booking-layout { display: grid; grid-template-columns: minmax(0, .82fr) minmax(560px, 1.18fr); gap: clamp(50px, 7vw, 100px); align-items: start; }
.booking-copy { position: sticky; top: 30px; }
.booking-copy > p:not(.eyebrow) { color: rgb(199, 210, 215); margin-top: 26px; max-width: 600px; }
.booking-prerequisites { list-style: none; margin: 36px 0 0; padding: 0; }
.booking-prerequisites li { display: grid; grid-template-columns: 38px 1fr; gap: 16px; padding: 18px 0; border-top: 1px solid rgba(255,255,255,.2); }
.booking-prerequisites li > span { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; font-family: monospace; font-size: .76rem; }
.booking-prerequisites strong { display: block; margin-bottom: 5px; }
.booking-prerequisites p { margin: 0; color: rgb(199, 210, 215); font-size: .9rem; line-height: 1.55; }
.booking-guardrail { margin-top: 22px; padding: 20px; border: 2px solid var(--sun); color: var(--navy); background: var(--sun); }
.booking-guardrail strong { display: block; margin-bottom: 6px; }
.booking-guardrail p { margin: 0; font-size: .88rem; line-height: 1.55; }
.booking-agent { border: 2px solid #fff; background: #fff; color: var(--navy); box-shadow: 12px 12px 0 var(--coral); }
.booking-agent-head { min-height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 20px; background: var(--aqua); border-bottom: 2px solid var(--navy); }
.booking-agent-head > div { display: flex; align-items: center; gap: 13px; }
.booking-agent-head strong, .booking-agent-head small { display: block; }
.booking-agent-head small { margin-top: 4px; font-size: .75rem; }
.prototype-pill { flex: 0 0 auto; padding: 7px 10px; border: 1px solid var(--navy); border-radius: 99px; font-size: .68rem; font-weight: 850; text-transform: uppercase; letter-spacing: .06em; background: var(--cream); }
.booking-progress { display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 2px solid var(--navy); background: #f3f6f5; }
.booking-progress span { padding: 12px 8px; text-align: center; font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; border-right: 1px solid rgba(23,39,51,.2); }
.booking-progress span:last-child { border-right: 0; }
.booking-progress span.is-active { background: var(--sun); }
.booking-agent-body { min-height: 620px; padding: clamp(26px, 4vw, 42px); }
.booking-step .step-kicker { display: block; margin-bottom: 12px; color: #586875; font-size: .74rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.booking-step h3 { font-size: clamp(1.8rem, 3vw, 2.35rem); }
.booking-step > p { margin-top: 15px; color: #586875; font-size: .94rem; line-height: 1.65; }
.booking-step > label:not(.booking-consent) { display: grid; gap: 7px; margin-top: 18px; font-size: .82rem; font-weight: 800; }
.booking-step input[type="text"], .booking-step input[type="email"] { width: 100%; border: 2px solid var(--navy); padding: 14px; background: #fffdf8; color: var(--navy); font: inherit; }
.booking-demo-note { display: grid; gap: 4px; margin-top: 20px; padding: 15px 17px; border-left: 5px solid var(--coral); background: #fff0eb; }
.booking-demo-note strong { font-size: .82rem; text-transform: uppercase; letter-spacing: .06em; }
.booking-demo-note span { font-size: .84rem; line-height: 1.45; }
.booking-next, .booking-confirm { width: 100%; margin-top: 22px; }
.booking-next:disabled, .booking-confirm:disabled { opacity: .45; cursor: not-allowed; }
.booking-back { margin-top: 16px; padding: 0; border: 0; background: transparent; color: var(--navy); text-decoration: underline; cursor: pointer; }
.estimate-summary { margin: 24px 0 0; border: 2px solid var(--navy); }
.estimate-config { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 22px; }
.estimate-config label { display: grid; gap: 7px; color: #40515d; font-size: .78rem; font-weight: 750; }
.estimate-config select { width: 100%; min-height: 48px; padding: 10px 12px; border: 2px solid var(--navy); border-radius: 0; background: #fffdf8; color: var(--navy); font: inherit; }
.estimate-summary div { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding: 13px 16px; border-bottom: 1px solid rgba(23,39,51,.22); }
.estimate-summary div:last-child { border-bottom: 0; }
.estimate-summary dt { color: #586875; font-size: .82rem; }
.estimate-summary dd { margin: 0; text-align: right; font-weight: 750; font-size: .88rem; }
.estimate-summary .estimate-total { background: var(--aqua-light); }
.estimate-source { display: block; margin-top: 10px; color: #5c6a74; line-height: 1.45; }
.booking-consent { display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: start; margin-top: 20px; padding: 15px; background: #f4f6f5; font-size: .86rem; line-height: 1.45; }
.booking-consent input { width: 18px; height: 18px; margin-top: 2px; accent-color: #208b99; }
.availability-rules { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 20px; }
.availability-rules span { padding: 7px 10px; border: 1px solid var(--navy); border-radius: 99px; background: var(--aqua-light); font-size: .7rem; font-weight: 750; }
.demo-slots { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 24px; }
.demo-slots button { display: grid; gap: 5px; padding: 16px 10px; border: 2px solid var(--navy); background: #fff; color: var(--navy); text-align: left; cursor: pointer; }
.demo-slots button:hover, .demo-slots button:focus-visible, .demo-slots button.is-selected { background: var(--sun); }
.demo-slots span { font-size: 1.22rem; font-weight: 850; }
.demo-slots small { color: #586875; }
.booking-result { display: grid; gap: 5px; margin-top: 18px; padding: 17px; border: 2px solid #21684e; background: #e3f6ee; color: #164a39; }
.booking-result span { font-size: .84rem; line-height: 1.5; }
.ingx-contact { background: var(--coral); padding: 90px 0px; }
.ingx-footer { background: var(--cream); padding: 38px 0px; border-top: 2px solid var(--navy); }
@media (max-width: 1050px) {
  .path-card { min-height: 480px; }
  .orientation-grid { gap: 45px; }
  .ingx-hero-grid { grid-template-columns: 1fr 1fr; }
  .ingx-hero-art { min-width: 52vw; }
  .price-cards { grid-template-columns: 1fr 1fr; }
  .ingx-header .nav { gap: 15px; }
}

/* Formulaire de demande INGX */
.request-section{background:#f4fbfc;border-top:1px solid rgba(24,34,51,.08)}
.request-grid{display:grid;grid-template-columns:minmax(0,.72fr) minmax(560px,1.28fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.request-intro{position:sticky;top:7rem}
.request-intro h2{margin:.4rem 0 1rem}
.request-security{display:grid;gap:.35rem;margin:2rem 0 1rem;padding:1.15rem 1.25rem;border:1px solid rgba(24,34,51,.12);border-radius:18px;background:rgba(255,255,255,.66)}
.request-security strong{font-size:.9rem;text-transform:uppercase;letter-spacing:.06em}
.request-security span,.request-disclaimer{color:#566173;line-height:1.55}
.request-disclaimer{font-size:.88rem}
.request-form{padding:clamp(1.25rem,3vw,2.3rem);border-radius:28px;background:#fff;box-shadow:0 24px 70px rgba(24,34,51,.09)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.request-form label{display:grid;gap:.45rem;color:#182233;font-size:.9rem;font-weight:700}
.request-form label.wide,.form-block,.upload-field,.consent-field{grid-column:1/-1}
.request-form input,.request-form select,.request-form textarea{width:100%;border:1px solid #cbd7dc;border-radius:12px;background:#fbfefe;color:#182233;font:inherit;font-weight:500;padding:.82rem .9rem;transition:border-color .2s,box-shadow .2s}
.request-form textarea{resize:vertical;line-height:1.5}
.request-form input:focus,.request-form select:focus,.request-form textarea:focus{outline:none;border-color:#208b99;box-shadow:0 0 0 3px rgba(101,213,223,.28)}
.crack-fields{margin-top:1rem;padding:1rem;border-radius:18px;background:#edf9fa;border:1px solid rgba(32,139,153,.18)}
.form-block,.upload-field,.consent-field{margin-top:1rem}
.upload-field small{color:#65717e;font-weight:500}
#file-summary{color:#208b99;font-weight:700}
.consent-field{grid-template-columns:auto 1fr!important;align-items:start;gap:.7rem!important;padding:1rem;border-radius:14px;background:#f6f7f8;font-weight:500!important;line-height:1.45}
.consent-field input{width:1.1rem;height:1.1rem;margin-top:.15rem;accent-color:#208b99}
.request-submit{margin-top:1.25rem;border:0;cursor:pointer}
.request-submit:disabled{opacity:.65;cursor:wait}
.form-privacy{margin:.8rem 0 0;color:#65717e;font-size:.82rem;line-height:1.45}
.form-status{display:grid;gap:.3rem;margin-top:1rem;padding:1rem 1.1rem;border-radius:14px;line-height:1.45}
.form-status.is-success{background:#e4f7ef;color:#14563f;border:1px solid #a6dfc7}
.form-status.is-error{background:#fff0ed;color:#8b2f23;border:1px solid #efb2a9}
.form-status strong{font-size:1rem}
.form-status span{font-weight:500}
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

@media (max-width:900px){.request-grid{grid-template-columns:1fr}.request-intro{position:static}.form-grid{grid-template-columns:1fr}}
@media (max-width: 760px) {
  .ingx-story-image img { aspect-ratio: 4 / 3; object-position: 70% center; }
  .choice-hero { padding-top: 45px; }
  .choice-lead { margin-bottom: 30px; }
  .path-grid, .services-pro, .bridge-grid { grid-template-columns: 1fr; }
  .path-card { min-height: 480px; }
  .path-copy { padding: 28px; }
  .path-card h2, .path-card .ingx-wordmark { font-size: 4.5rem; }
  .ingx-header-inner { height: 78px; }
  .ingx-header .nav { top: 78px; background: var(--cream); color: var(--navy); border-top-color: var(--navy); }
  .ingx-header .nav a { border-bottom: 1px solid rgba(23, 39, 51, 0.2); }
  .ingx-hero-grid { display: flex; flex-direction: column; min-height: auto; }
  .ingx-hero-copy { padding: 58px 0px 32px; }
  .ingx-hero-copy h1 { font-size: clamp(3.1rem, 14vw, 5rem); }
  .ingx-hero-art { height: 380px; min-width: 0px; margin: 0px -18px; }
  .ingx-hero-art img { object-position: 60% center; }
  .hero-actions { align-items: flex-start; flex-direction: column; }
  .hero-proof { margin-top: 30px; }
  .orientation { padding: 70px 0px; }
  .orientation-grid, .booking-layout { grid-template-columns: 1fr; gap: 40px; }
  .chat-body { padding: 26px; min-height: 430px; }
  .chat-step legend { font-size: 1.5rem; }
  .result-actions { align-items: stretch; flex-direction: column; }
  .route-actions { align-items: flex-start; flex-direction: column; }
  .ingx-service-grid, .price-cards, .crack-grid, .mandate-steps { grid-template-columns: 1fr; }
  .ingx-service-grid article, .price-card { min-height: auto; }
  .mandate-heading { margin-bottom: 32px; }
  .mandate-steps li, .mandate-steps li:nth-child(5) { grid-column: auto; min-height: auto; padding: 24px; }
  .mandate-note { grid-template-columns: 1fr; gap: 10px; padding: 22px 24px; }
  .price-card p { margin-top: 28px; }
  .scope-note { align-items: flex-start; flex-direction: column; padding: 24px; }
  .booking-copy { position: static; }
  .booking-agent { box-shadow: 8px 8px 0 var(--coral); }
  .booking-agent-head { align-items: flex-start; }
  .booking-agent-head .bot-face { display: none; }
  .booking-agent-body { min-height: 0; padding: 24px; }
  .estimate-config { grid-template-columns: 1fr; }
  .estimate-summary div { grid-template-columns: 1fr; gap: 4px; }
  .estimate-summary dd { text-align: left; }
  .demo-slots { grid-template-columns: 1fr; }
  .ingx-contact { padding: 65px 0px; }
  .ingx-brand span { display: none; }
  .ingx-brand { display: block; }
  .ingx-brand small { display: block; }
}
@media (prefers-reduced-motion: reduce) {
  .choice-list button { transform: none !important; }
}
