/* Ajans Feedback — Marka & Endüstriyel Tasarım Tescil sayfaları (v1, 2026-10-30)
   app.css üzerine yüklenir; tüm kurallar .ip- önekiyle kapsüllenmiştir. */

.ip-page { --ip-wa: #25d366; --ip-wa-deep: #128c4a; background: #fff; }
.ip-page .sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.ip-icon { width: 18px; height: 18px; flex: 0 0 auto; display: inline-block; vertical-align: middle; }
.ip-page button { font-family: inherit; }
.ip-page :focus-visible { outline: 2px solid var(--brand-red); outline-offset: 2px; }

/* Buttons */
.ip-button--wa { background: #fff; color: var(--ip-wa-deep); border: 1px solid rgba(37, 211, 102, .5); box-shadow: none; }
.ip-button--wa .ip-icon { width: 19px; height: 19px; color: var(--ip-wa); }
.ip-button--wa:hover { background: #effaf3; color: #0d6e39; }
.ip-button--light { background: #fff; color: var(--ink); box-shadow: none; }
.ip-button--light:hover { background: #fff; color: var(--brand-red-deep); }

/* Tabs */
.ip-tabs { display: inline-flex; gap: 4px; padding: 4px; border-radius: 999px; background: #f3f4f6; max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.ip-tabs::-webkit-scrollbar { display: none; }
.ip-tabs__item { flex: 0 0 auto; padding: 9px 16px; border-radius: 999px; color: var(--muted); font-size: 13px; font-weight: 500; white-space: nowrap; transition: background .2s ease, color .2s ease, box-shadow .2s ease; }
.ip-tabs__item:hover { color: var(--ink); }
.ip-tabs__item.is-active { background: #fff; color: var(--ink); box-shadow: 0 4px 14px rgba(35, 38, 43, .08); }

/* Hero */
.ip-hero { padding: 128px 0 88px; background: linear-gradient(180deg, #fff 0%, #fff 70%, #fbfbfc 100%); }
.ip-hero__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); gap: 64px; align-items: start; margin-top: 34px; }
.ip-hero .section-heading h1 { max-width: 760px; margin: 14px 0 0; font-size: clamp(32px, 3.3vw, 48px); line-height: 1.1; letter-spacing: -.035em; font-weight: 600; }
.ip-hero .section-heading p { max-width: 680px; margin-top: 18px; color: var(--muted); font-size: 17px; line-height: 1.75; font-weight: 300; }
.ip-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.ip-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 40px 0 0; }
.ip-facts div { padding: 16px 16px 15px; border-radius: 18px; background: #f6f7f9; border: 1px solid rgba(35, 38, 43, .04); }
.ip-facts dt { font-size: 22px; line-height: 1.1; font-weight: 600; letter-spacing: -.025em; color: var(--ink); }
.ip-facts dd { margin: 7px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }

/* Quick callback card */
.ip-quick { position: relative; padding: 26px; border-radius: 24px; background: #fff; border: 1px solid rgba(35, 38, 43, .08); box-shadow: 0 22px 50px rgba(31, 34, 39, .08); }
.ip-quick__eyebrow { display: inline-flex; align-items: center; gap: 7px; color: var(--brand-red); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; font-weight: 500; }
.ip-quick__eyebrow .ip-icon { width: 15px; height: 15px; }
.ip-quick h2 { margin: 12px 0 0; font-size: 21px; line-height: 1.3; font-weight: 600; letter-spacing: -.02em; }
.ip-quick > p { margin-top: 8px; color: var(--muted); font-size: 13.5px; line-height: 1.65; }
.ip-quick__form { display: grid; gap: 12px; margin-top: 18px; }
.ip-quick__form label { display: grid; gap: 6px; font-size: 12px; font-weight: 600; }
.ip-quick__form label small { color: var(--muted-2); font-weight: 400; }
.ip-quick__form input { width: 100%; height: 46px; padding: 0 13px; border: 1px solid #dfe3e8; border-radius: 12px; background: #f9fafb; font: inherit; font-size: 14px; color: var(--ink); transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.ip-quick__form input:focus { outline: none; background: #fff; border-color: rgba(255, 77, 87, .55); box-shadow: 0 0 0 3px rgba(255, 77, 87, .09); }
.ip-quick__form .button { width: 100%; margin-top: 4px; border: 0; cursor: pointer; }
.ip-quick .form-success, .ip-quick .form-error { margin: 16px 0 0; }
.ip-quick__wa { display: flex; align-items: center; gap: 10px; margin-top: 18px; padding-top: 16px; border-top: 1px solid #eef0f3; color: var(--muted); font-size: 13px; }
.ip-quick__wa .ip-icon { width: 22px; height: 22px; color: var(--ip-wa); }
.ip-quick__wa b { color: var(--ink); font-weight: 600; white-space: nowrap; }
.ip-quick__wa:hover b { color: var(--ip-wa-deep); }

/* Class finder */
.ip-finder { padding: 96px 0; background: #f6f7f9; scroll-margin-top: 70px; }
.ip-finder__layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 24px; align-items: start; margin-top: 42px; }
.ip-search, .ip-presets, .ip-all { padding: 24px; border-radius: 24px; background: #fff; border: 1px solid rgba(35, 38, 43, .06); }
.ip-presets, .ip-all { margin-top: 14px; }
.ip-search__field { position: relative; display: flex; align-items: center; gap: 12px; height: 64px; padding: 0 14px 0 18px; border: 1.5px solid #dfe3e8; border-radius: 18px; background: #fff; transition: border-color .2s ease, box-shadow .2s ease; cursor: text; }
.ip-search__field:focus-within { border-color: rgba(255, 77, 87, .7); box-shadow: 0 0 0 4px rgba(255, 77, 87, .09); }
.ip-search__icon { display: inline-flex; color: var(--brand-red); }
.ip-search__icon .ip-icon { width: 22px; height: 22px; }
.ip-search__field input { flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); font: inherit; font-size: 18px; letter-spacing: -.01em; }
.ip-search__field input::placeholder { color: #9aa3ad; }
.ip-search__field input::-webkit-search-cancel-button { -webkit-appearance: none; }
.ip-search__field input:focus-visible { outline: none; }
.ip-search__clear { width: 30px; height: 30px; border: 0; border-radius: 50%; background: #f1f2f4; color: var(--muted); font-size: 18px; line-height: 1; cursor: pointer; }
.ip-search__clear:hover { background: #ffe9ea; color: var(--brand-red); }
.ip-search__status { min-height: 18px; margin: 10px 2px 0; color: var(--muted); font-size: 12.5px; }
.ip-search__status.is-loading::before { content: ""; display: inline-block; width: 10px; height: 10px; margin-right: 8px; border-radius: 50%; border: 2px solid rgba(255, 77, 87, .25); border-top-color: var(--brand-red); vertical-align: -1px; animation: ip-spin .7s linear infinite; }
@keyframes ip-spin { to { transform: rotate(360deg); } }
.ip-search__examples { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 12px; }
.ip-search__examples span { margin-right: 2px; color: var(--muted-2); font-size: 12px; }
.ip-search__examples button { padding: 6px 11px; border: 0; border-radius: 999px; background: #f3f4f6; color: var(--muted); font-size: 12px; cursor: pointer; transition: background .2s ease, color .2s ease; }
.ip-search__examples button:hover { background: #ffecee; color: var(--brand-red-deep); }

.ip-results { display: grid; gap: 10px; }
.ip-results:not(:empty) { margin-top: 18px; }
.ip-results.is-loading { opacity: .55; transition: opacity .2s ease; }
.ip-result { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; gap: 16px; align-items: start; padding: 16px 16px 16px 16px; border-radius: 18px; border: 1px solid rgba(35, 38, 43, .08); background: #fff; transition: border-color .2s ease, background .2s ease, transform .2s ease; animation: ip-in .28s ease both; }
.ip-result:hover { border-color: rgba(255, 77, 87, .3); }
.ip-result.is-selected { border-color: rgba(255, 77, 87, .55); background: #fff8f8; }
@keyframes ip-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.ip-result__no { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 15px; background: #23262b; color: #fff; font-size: 19px; font-weight: 600; font-variant-numeric: tabular-nums; transition: background .2s ease; }
.ip-result.is-selected .ip-result__no { background: var(--brand-red); }
.ip-result__title { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 2px 0 0; font-size: 16px; line-height: 1.35; font-weight: 600; letter-spacing: -.01em; }
.ip-type { display: inline-flex; padding: 3px 8px; border-radius: 999px; background: #f1f2f4; color: var(--muted); font-size: 10px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; }
.ip-type--hizmet { background: #eef4ff; color: #3a5ea8; }
.ip-result__heading { margin-top: 6px; color: var(--muted); font-size: 12.5px; line-height: 1.6; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ip-result__matches { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 0; padding: 0; list-style: none; }
.ip-result__matches li { padding: 5px 9px; border-radius: 999px; background: #f4f5f7; color: #4a525c; font-size: 12px; line-height: 1.35; }
.ip-result mark { background: transparent; color: var(--brand-red-deep); font-weight: 600; }
.ip-result__heading mark { font-weight: 500; }
.ip-result__more { justify-self: start; display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 16px; border: 1px solid rgba(35, 38, 43, .12); border-radius: 999px; background: #fff; color: var(--ink); font-size: 13px; font-weight: 500; cursor: pointer; }
.ip-result__more:hover { border-color: rgba(255, 77, 87, .45); color: var(--brand-red-deep); }
.ip-result__toggle { display: inline-flex; align-items: center; gap: 6px; min-height: 38px; padding: 0 14px; border-radius: 999px; border: 1px solid rgba(255, 77, 87, .45); background: #fff; color: var(--brand-red-deep); font-size: 13px; font-weight: 500; white-space: nowrap; cursor: pointer; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.ip-result__toggle:hover { background: #fff1f2; }
.ip-result.is-selected .ip-result__toggle { background: var(--brand-red); border-color: var(--brand-red); color: #fff; }
.ip-results__empty { padding: 18px 20px; border-radius: 18px; background: #fff7f7; border: 1px dashed rgba(255, 77, 87, .3); color: #6c4448; font-size: 14px; line-height: 1.65; }
.ip-results__empty strong { display: block; color: var(--ink); font-weight: 600; }
.ip-results__empty a { display: inline-flex; align-items: center; gap: 7px; margin-top: 10px; color: var(--ip-wa-deep); font-weight: 500; }
.ip-results__empty a .ip-icon { color: var(--ip-wa); }

.ip-presets h3, .ip-all h3 { margin: 0; font-size: 17px; font-weight: 600; letter-spacing: -.015em; }
.ip-presets > p { margin-top: 5px; color: var(--muted); font-size: 13px; }
.ip-presets__list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.ip-chip { display: inline-flex; align-items: center; gap: 7px; padding: 9px 13px; border: 1px solid rgba(35, 38, 43, .1); border-radius: 999px; background: #fff; color: var(--ink); font-size: 13px; font-weight: 500; cursor: pointer; transition: border-color .2s ease, background .2s ease, transform .15s ease; }
.ip-chip small { color: var(--muted-2); font-size: 11px; font-weight: 400; font-variant-numeric: tabular-nums; }
.ip-chip:hover { border-color: rgba(255, 77, 87, .45); transform: translateY(-1px); }
.ip-chip.is-applied { background: #fff1f2; border-color: rgba(255, 77, 87, .5); }
.ip-chip.is-applied small { color: var(--brand-red-deep); }

.ip-all__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; }
.ip-all__filter { display: inline-flex; gap: 3px; padding: 3px; border-radius: 999px; background: #f3f4f6; }
.ip-all__filter button { padding: 7px 12px; border: 0; border-radius: 999px; background: transparent; color: var(--muted); font-size: 12.5px; cursor: pointer; }
.ip-all__filter button small { margin-left: 3px; color: var(--muted-2); font-size: 10.5px; }
.ip-all__filter button.is-active { background: #fff; color: var(--ink); box-shadow: 0 3px 10px rgba(35, 38, 43, .08); }
.ip-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(178px, 1fr)); gap: 8px; margin-top: 16px; }
.ip-tile { position: relative; display: grid; grid-template-columns: 26px minmax(0, 1fr) 18px; align-items: center; gap: 10px; min-height: 58px; padding: 9px 12px; border: 1px solid rgba(35, 38, 43, .08); border-radius: 14px; background: #fafbfc; color: var(--ink); text-align: left; cursor: pointer; transition: border-color .18s ease, background .18s ease, transform .15s ease; }
.ip-tile b { font-size: 14px; font-weight: 700; font-variant-numeric: tabular-nums; color: #2f343b; }
.ip-tile span { font-size: 12.5px; line-height: 1.3; color: #3e454e; }
.ip-tile i { width: 18px; height: 18px; border-radius: 50%; border: 1.5px solid #cfd4da; background: #fff; transition: background .18s ease, border-color .18s ease; }
.ip-tile:hover { border-color: rgba(255, 77, 87, .4); background: #fff; }
.ip-tile[aria-pressed="true"] { border-color: rgba(255, 77, 87, .6); background: #fff1f2; }
.ip-tile[aria-pressed="true"] b { color: var(--brand-red-deep); }
.ip-tile[aria-pressed="true"] i { border-color: var(--brand-red); background: var(--brand-red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 12.5 4 4L18 8' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px no-repeat; }
.ip-tile.is-hidden { display: none; }
.ip-tile.is-flash { animation: ip-flash .7s ease; }
@keyframes ip-flash { 0% { transform: scale(1); } 35% { transform: scale(1.04); box-shadow: 0 0 0 4px rgba(255, 77, 87, .18); } 100% { transform: scale(1); box-shadow: none; } }

/* Basket */
.ip-basket { position: sticky; top: 98px; }
.ip-basket__inner { padding: 24px; border-radius: 24px; background: #202328; color: #fff; box-shadow: 0 24px 50px rgba(20, 22, 26, .16); }
.ip-basket__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; }
.ip-basket__head span { color: rgba(255, 255, 255, .62); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.ip-basket__head strong { font-size: 46px; line-height: .9; font-weight: 600; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.ip-basket__split { margin-top: 8px; color: rgba(255, 255, 255, .5); font-size: 12px; }
.ip-basket__list { display: flex; flex-wrap: wrap; gap: 6px; margin: 16px 0 0; padding: 0; list-style: none; max-height: 260px; overflow-y: auto; }
.ip-basket__list li { display: inline-flex; align-items: center; gap: 7px; max-width: 100%; padding: 5px 5px 5px 10px; border-radius: 999px; background: rgba(255, 255, 255, .08); font-size: 12.5px; animation: ip-in .22s ease both; }
.ip-basket__list li b { color: var(--brand-red); font-weight: 600; font-variant-numeric: tabular-nums; }
.ip-basket__list li span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 170px; color: rgba(255, 255, 255, .85); }
.ip-basket__list li button { display: grid; place-items: center; width: 22px; height: 22px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .1); color: #fff; font-size: 14px; line-height: 1; cursor: pointer; }
.ip-basket__list li button:hover { background: var(--brand-red); }
.ip-basket__empty { margin-top: 16px; color: rgba(255, 255, 255, .6); font-size: 13px; line-height: 1.6; }
.ip-basket__tip { margin-top: 14px; padding: 12px 13px; border-radius: 13px; background: rgba(255, 77, 87, .13); color: rgba(255, 255, 255, .86); font-size: 12.5px; line-height: 1.55; }
.ip-basket__tip b { color: #fff; }
.ip-basket__actions { display: grid; gap: 8px; margin-top: 20px; }
.ip-basket__actions .button { width: 100%; min-height: 48px; }
.ip-basket .ip-button--wa { background: transparent; color: #b9f3cf; border-color: rgba(37, 211, 102, .45); }
.ip-basket .ip-button--wa:hover { background: rgba(37, 211, 102, .1); color: #fff; }
.ip-basket__clear { justify-self: center; margin-top: 2px; padding: 6px; border: 0; background: transparent; color: rgba(255, 255, 255, .55); font-size: 12px; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.ip-basket__clear:hover { color: #fff; }
.ip-basket__note { display: block; margin-top: 16px; color: rgba(255, 255, 255, .42); font-size: 11px; line-height: 1.55; }

/* Mobile selection bar */
.ip-selbar { position: fixed; z-index: 440; left: 14px; right: 84px; bottom: 16px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 8px 8px 16px; border-radius: 999px; background: #202328; color: #fff; box-shadow: 0 16px 34px rgba(0, 0, 0, .24); font-size: 13px; transform: translateY(0); transition: transform .25s ease, opacity .25s ease; }
.ip-selbar[hidden] { display: none; }
.ip-selbar b { color: var(--brand-red); }
.ip-selbar a { display: inline-flex; align-items: center; min-height: 38px; padding: 0 14px; border-radius: 999px; background: var(--brand-red); color: #fff; font-weight: 500; font-size: 13px; white-space: nowrap; }

/* Steps */
.ip-steps { padding: 96px 0; background: #202328; color: #fff; }
.ip-steps__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 42px 0 0; padding: 0; list-style: none; }
.ip-steps__grid li { position: relative; min-height: 200px; padding: 24px; border-radius: 20px; background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .07); }
.ip-steps__grid b { color: var(--brand-red); font-size: 13px; font-weight: 600; letter-spacing: .1em; }
.ip-steps__grid h3 { margin: 26px 0 0; font-size: 20px; line-height: 1.3; font-weight: 600; letter-spacing: -.02em; }
.ip-steps__grid p { margin-top: 10px; color: rgba(255, 255, 255, .64); font-size: 14px; line-height: 1.7; }
.ip-steps__note { margin-top: 22px; color: rgba(255, 255, 255, .55); font-size: 13px; line-height: 1.6; }
.ip-steps--light { background: #f6f7f9; color: var(--ink); }
.ip-steps--light .ip-steps__grid li { background: #fff; border-color: rgba(35, 38, 43, .06); }
.ip-steps--light .ip-steps__grid p { color: var(--muted); }
.ip-steps--light .ip-steps__note { color: var(--muted); }
.ip-steps__grid--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.ip-steps__grid--5 li { min-height: 230px; padding: 22px; }
.ip-steps__grid--5 h3 { font-size: 18px; }

/* Cards */
.ip-know { padding: 96px 0; background: #fff; }
.ip-card-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 40px; }
.ip-card-grid article { min-height: 220px; padding: 24px; border-radius: 22px; background: #f6f7f9; border: 1px solid rgba(35, 38, 43, .04); }
.ip-card-num { color: var(--brand-red); font-size: 12px; font-weight: 600; letter-spacing: .1em; }
.ip-card-grid h3 { margin: 28px 0 0; font-size: 19px; line-height: 1.3; font-weight: 600; letter-spacing: -.02em; }
.ip-card-grid p { margin-top: 10px; color: var(--muted); font-size: 14px; line-height: 1.7; }

/* Checklist */
.ip-docs { padding: 96px 0; background: #f6f7f9; }
.ip-docs__grid { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr); gap: 64px; align-items: start; }
.ip-checklist { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.ip-checklist li { display: flex; gap: 14px; align-items: flex-start; padding: 18px 20px; border-radius: 18px; background: #fff; border: 1px solid rgba(35, 38, 43, .06); }
.ip-checklist .ip-icon { width: 26px; height: 26px; padding: 5px; border-radius: 50%; background: #fff1f2; color: var(--brand-red); }
.ip-checklist strong { display: block; font-size: 15px; font-weight: 600; }
.ip-checklist span { display: block; margin-top: 4px; color: var(--muted); font-size: 13.5px; line-height: 1.65; }

/* Form labels & inputs */
.ip-label { display: block; }
.ip-quick__form input, .ip-form input, .ip-form textarea, .ip-form select { font-weight: 400; }
.ip-quick__form input::placeholder, .ip-form input::placeholder, .ip-form textarea::placeholder { color: #9aa3ad; font-weight: 400; }
.ip-form .public-form-bottom .button { flex: 0 0 auto; white-space: nowrap; }

/* Lead form */
.ip-lead { padding: 100px 0; background: #202328; color: #fff; scroll-margin-top: 70px; }
.ip-lead__grid { display: grid; grid-template-columns: minmax(0, .82fr) minmax(380px, 1.18fr); gap: 64px; align-items: start; }
.ip-lead__contact { display: grid; gap: 10px; margin-top: 30px; max-width: 420px; }
.ip-lead__wa, .ip-lead__phone { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 16px; color: #fff; transition: transform .2s ease, background .2s ease; }
.ip-lead__wa { background: rgba(37, 211, 102, .12); border: 1px solid rgba(37, 211, 102, .35); }
.ip-lead__wa:hover { background: rgba(37, 211, 102, .18); transform: translateY(-1px); }
.ip-lead__phone { background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .08); }
.ip-lead__phone:hover { background: rgba(255, 255, 255, .08); }
.ip-lead__wa .ip-icon { width: 28px; height: 28px; color: var(--ip-wa); }
.ip-lead__phone .ip-icon { width: 24px; height: 24px; color: rgba(255, 255, 255, .8); }
.ip-lead__wa span, .ip-lead__phone span { font-size: 17px; font-weight: 500; letter-spacing: -.01em; }
.ip-lead__wa small, .ip-lead__phone small { display: block; margin-bottom: 2px; color: rgba(255, 255, 255, .58); font-size: 11px; font-weight: 400; letter-spacing: 0; }
.ip-lead__contact > p { margin-top: 6px; color: rgba(255, 255, 255, .5); font-size: 12.5px; line-height: 1.6; }
.ip-lead__form-wrap { padding: 28px; border-radius: 24px; background: #fff; color: var(--ink); }
.ip-form label em { color: var(--brand-red); font-style: normal; }
.ip-form label small { color: var(--muted-2); font-weight: 400; }
.ip-form input:focus, .ip-form textarea:focus, .ip-form select:focus { outline: none; border-color: rgba(255, 77, 87, .55); box-shadow: 0 0 0 3px rgba(255, 77, 87, .09); }
.ip-form textarea { min-height: 110px; }
.ip-form .public-form-row--single { grid-template-columns: 1fr; }
.ip-form__hint { display: block; min-height: 15px; color: var(--muted-2); font-size: 11px; font-weight: 400; }
.ip-form .public-form-bottom small a { color: var(--brand-red); text-decoration: underline; text-underline-offset: 2px; }
.ip-options { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; border: 0; min-width: 0; }
.ip-options legend { width: 100%; margin-bottom: 8px; padding: 0; font-size: 12px; font-weight: 600; }
.ip-option { position: relative; display: inline-flex !important; cursor: pointer; }
.ip-option input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.ip-option span { padding: 9px 14px; border: 1px solid #dfe3e8; border-radius: 999px; background: #fff; color: #444b54; font-size: 13px; font-weight: 400; transition: border-color .18s ease, background .18s ease, color .18s ease; }
.ip-option:hover span { border-color: rgba(255, 77, 87, .4); }
.ip-option input:checked + span { background: #fff1f2; border-color: rgba(255, 77, 87, .6); color: var(--brand-red-deep); font-weight: 500; }
.ip-option input:focus-visible + span { outline: 2px solid var(--brand-red); outline-offset: 2px; }
.ip-form__warn { padding: 12px 14px; border-radius: 12px; background: #fff7e8; color: #7a5410; font-size: 12.5px; line-height: 1.55; }
.ip-form__warn[hidden] { display: none; }
.ip-lead__success { padding: 12px 4px; }
.ip-lead__success-icon { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: #ebf8ef; color: #27643a; }
.ip-lead__success-icon .ip-icon { width: 26px; height: 26px; }
.ip-lead__success h3 { margin: 20px 0 0; font-size: 24px; font-weight: 600; letter-spacing: -.02em; }
.ip-lead__success p { margin: 10px 0 22px; color: var(--muted); font-size: 15px; line-height: 1.7; }

/* FAQ */
.ip-faq { padding: 96px 0; background: #fff; }
.ip-faq__grid { display: grid; grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr); gap: 64px; align-items: start; }
.ip-faq__list { border-top: 1px solid rgba(35, 38, 43, .1); }
.ip-faq__item { border-bottom: 1px solid rgba(35, 38, 43, .1); }
.ip-faq__item summary { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 21px 2px; font-size: 17px; line-height: 1.45; font-weight: 500; letter-spacing: -.01em; list-style: none; cursor: pointer; transition: color .2s ease; }
.ip-faq__item summary::-webkit-details-marker { display: none; }
.ip-faq__item summary:hover { color: var(--brand-red-deep); }
.ip-faq__item summary span { position: relative; flex: 0 0 auto; width: 30px; height: 30px; border-radius: 50%; background: #f3f4f6; transition: background .2s ease, transform .25s ease; }
.ip-faq__item summary span::before, .ip-faq__item summary span::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 1.8px; border-radius: 2px; background: var(--ink); transform: translate(-50%, -50%); transition: transform .25s ease, background .2s ease; }
.ip-faq__item summary span::after { transform: translate(-50%, -50%) rotate(90deg); }
.ip-faq__item[open] summary span { background: var(--brand-red); }
.ip-faq__item[open] summary span::before, .ip-faq__item[open] summary span::after { background: #fff; }
.ip-faq__item[open] summary span::after { transform: translate(-50%, -50%) rotate(0deg); }
.ip-faq__answer p { max-width: 700px; margin: 0; padding: 0 44px 22px 2px; color: var(--muted); font-size: 15px; line-height: 1.78; }

/* Cross-sell CTA */
.ip-cross { padding: 88px 0; background: var(--brand-red); color: #fff; }
.ip-cross__inner { display: flex; justify-content: space-between; align-items: flex-end; gap: 48px; }
.ip-cross .section-heading { max-width: 720px; }
.ip-cross .section-heading--inverse .section-index { color: rgba(255, 255, 255, .78); }
.ip-cross .section-heading--inverse p { color: rgba(255, 255, 255, .82) !important; }
.ip-cross .button { flex: 0 0 auto; }

/* Floating WhatsApp */
.ip-wa-float { position: fixed; z-index: 450; right: 20px; bottom: 20px; display: inline-flex; align-items: center; gap: 10px; padding: 8px 18px 8px 8px; border-radius: 999px; background: var(--ip-wa, #25d366); color: #fff; box-shadow: 0 14px 30px rgba(18, 140, 74, .32); transition: transform .2s ease, box-shadow .2s ease, bottom .25s ease; }
.ip-wa-float:hover { transform: translateY(-2px); box-shadow: 0 18px 36px rgba(18, 140, 74, .38); }
.ip-wa-float.is-tucked { opacity: 0; transform: translateY(16px); pointer-events: none; }
.ip-wa-float { transition: transform .25s ease, box-shadow .2s ease, bottom .25s ease, opacity .25s ease; }
.ip-wa-float .ip-icon { width: 42px; height: 42px; padding: 9px; border-radius: 50%; background: rgba(255, 255, 255, .18); }
.ip-wa-float__label { display: grid; font-size: 14px; font-weight: 600; line-height: 1.2; letter-spacing: -.005em; }
.ip-wa-float__label small { font-size: 10px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; opacity: .85; }

/* Industrial design page */
.ip-chooser { padding: 96px 0; background: #f6f7f9; }
.ip-chooser__ask { margin-top: 38px; padding: 22px 24px; border-radius: 22px; background: #fff; border: 1px solid rgba(35, 38, 43, .06); }
.ip-chooser__ask h3 { margin: 0; font-size: 17px; font-weight: 600; }
.ip-chooser__options { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 14px; }
.ip-chooser__options button { display: grid; gap: 4px; padding: 14px 16px; border: 1px solid rgba(35, 38, 43, .1); border-radius: 16px; background: #fafbfc; color: var(--ink); text-align: left; font-size: 14px; font-weight: 500; line-height: 1.35; cursor: pointer; transition: border-color .2s ease, background .2s ease; }
.ip-chooser__options button small { color: var(--muted); font-size: 12px; font-weight: 400; }
.ip-chooser__options button:hover { border-color: rgba(255, 77, 87, .4); background: #fff; }
.ip-chooser__options button[aria-pressed="true"] { border-color: var(--brand-red); background: #fff1f2; }
.ip-compare { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 14px; }
.ip-compare article { position: relative; display: flex; flex-direction: column; padding: 24px; border-radius: 22px; background: #fff; border: 1.5px solid rgba(35, 38, 43, .06); transition: border-color .25s ease, box-shadow .25s ease, opacity .25s ease, transform .25s ease; }
.ip-compare article > span { color: var(--brand-red); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; font-weight: 500; }
.ip-compare h3 { margin: 12px 0 0; font-size: 22px; font-weight: 600; letter-spacing: -.02em; }
.ip-compare dl { margin: 18px 0 0; display: grid; gap: 12px; }
.ip-compare dt { color: var(--muted-2); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.ip-compare dd { margin: 3px 0 0; color: #3e454e; font-size: 14px; line-height: 1.6; }
.ip-compare__badge { position: absolute; top: 20px; right: 20px; display: none; padding: 5px 10px; border-radius: 999px; background: var(--brand-red); color: #fff; font-size: 11px; font-weight: 500; }
.ip-compare.has-pick article { opacity: .55; }
.ip-compare.has-pick article.is-recommended { opacity: 1; border-color: var(--brand-red); box-shadow: 0 20px 44px rgba(255, 77, 87, .12); transform: translateY(-3px); }
.ip-compare article.is-recommended .ip-compare__badge { display: inline-flex; }
.ip-chooser__mark { margin-top: 14px; padding: 16px 20px; border-radius: 16px; background: #fff; border: 1px dashed rgba(35, 38, 43, .16); color: var(--muted); font-size: 14px; line-height: 1.6; }
.ip-chooser__mark a { color: var(--brand-red); font-weight: 500; }
.ip-chooser__mark.is-recommended { border-style: solid; border-color: var(--brand-red); background: #fff1f2; color: var(--ink); }

.ip-examples { padding: 96px 0; background: #fff; }
.ip-examples__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 40px; }
.ip-examples__grid article { padding: 22px; border-radius: 20px; background: #f6f7f9; border: 1px solid rgba(35, 38, 43, .04); transition: transform .2s ease, background .2s ease; }
.ip-examples__grid article:hover { transform: translateY(-3px); background: #fff; box-shadow: 0 18px 40px rgba(31, 34, 39, .07); }
.ip-examples__grid svg { width: 40px; height: 40px; color: var(--brand-red); }
.ip-examples__grid h3 { margin: 22px 0 0; font-size: 17px; line-height: 1.35; font-weight: 600; letter-spacing: -.015em; }
.ip-examples__grid p { margin-top: 8px; color: var(--muted); font-size: 13px; line-height: 1.65; }

.ip-rules { padding: 96px 0; background: #202328; color: #fff; }
.ip-rules__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 42px; }
.ip-rules__grid article { padding: 26px; border-radius: 22px; background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .07); }
.ip-rules__grid article.is-accent { background: var(--brand-red); border-color: transparent; }
.ip-rules__grid b { display: block; font-size: 34px; line-height: 1; font-weight: 600; letter-spacing: -.04em; }
.ip-rules__grid h3 { margin: 22px 0 0; font-size: 20px; font-weight: 600; letter-spacing: -.02em; }
.ip-rules__grid p { margin-top: 10px; color: rgba(255, 255, 255, .66); font-size: 14px; line-height: 1.7; }
.ip-rules__grid article.is-accent p { color: rgba(255, 255, 255, .9); }
.ip-rules__note { margin-top: 18px; padding: 16px 20px; border-radius: 16px; background: rgba(255, 255, 255, .05); color: rgba(255, 255, 255, .7); font-size: 13.5px; line-height: 1.65; }
.ip-rules__note strong { color: #fff; font-weight: 600; }

/* Responsive */
@media (max-width: 1180px) {
    .ip-steps__grid--5 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1040px) {
    .ip-hero__grid, .ip-finder__layout, .ip-docs__grid, .ip-lead__grid, .ip-faq__grid { grid-template-columns: 1fr; gap: 34px; }
    .ip-hero__grid { gap: 40px; }
    .ip-quick { max-width: 560px; }
    .ip-basket { position: static; }
    .ip-steps__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ip-card-grid, .ip-examples__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ip-chooser__options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ip-compare, .ip-rules__grid { grid-template-columns: 1fr; }
    .ip-cross__inner { flex-direction: column; align-items: flex-start; gap: 26px; }
}
@media (min-width: 1041px) {
    .ip-selbar { display: none !important; }
}
@media (max-width: 760px) {
    .ip-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .ip-hero { padding: 108px 0 64px; }
    .ip-hero__grid { margin-top: 26px; }
    .ip-hero .section-heading h1 { font-size: 30px; line-height: 1.14; }
    .ip-hero .section-heading p { font-size: 15.5px; }
    .ip-hero__actions .button { flex: 1 1 100%; }
    .ip-facts dt { font-size: 20px; }
    .ip-quick { padding: 22px 18px; border-radius: 20px; }
    .ip-finder, .ip-steps, .ip-know, .ip-docs, .ip-lead, .ip-faq, .ip-chooser, .ip-examples, .ip-rules { padding: 72px 0; }
    .ip-cross { padding: 70px 0; }
    .ip-finder__layout { margin-top: 30px; }
    .ip-search, .ip-presets, .ip-all { padding: 16px; border-radius: 20px; }
    .ip-search__field { height: 56px; padding: 0 10px 0 14px; border-radius: 15px; }
    .ip-search__field input { font-size: 16px; }
    .ip-result { grid-template-columns: 42px minmax(0, 1fr); gap: 12px; padding: 14px; }
    .ip-result__no { width: 42px; height: 42px; border-radius: 12px; font-size: 16px; }
    .ip-result__toggle { grid-column: 2; justify-self: start; min-height: 34px; }
    .ip-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
    .ip-tile { grid-template-columns: 22px minmax(0, 1fr) 16px; gap: 8px; min-height: 56px; padding: 8px 10px; }
    .ip-tile span { font-size: 12px; }
    .ip-tile i { width: 16px; height: 16px; }
    .ip-all__head { align-items: flex-start; flex-direction: column; }
    .ip-steps__grid, .ip-steps__grid--5, .ip-card-grid, .ip-examples__grid, .ip-chooser__options { grid-template-columns: 1fr; }
    .ip-steps__grid li, .ip-card-grid article { min-height: 0; }
    .ip-lead__form-wrap { padding: 20px 16px; border-radius: 20px; }
    .ip-faq__item summary { font-size: 16px; padding: 18px 0; }
    .ip-faq__answer p { padding-right: 8px; font-size: 14.5px; }
    .ip-wa-float { right: 14px; bottom: 14px; padding: 0; }
    .ip-wa-float .ip-icon { width: 58px; height: 58px; padding: 14px; background: transparent; }
    .ip-wa-float__label { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .ip-result, .ip-basket__list li, .ip-tile.is-flash { animation: none; }
    .ip-search__status.is-loading::before { animation: none; }
}
.ip-compare article > .ip-compare__badge { color: #fff; font-size: 11px; letter-spacing: .02em; text-transform: none; }
