.igc-tool {
	--igc-ink: #17202d;
	--igc-muted: #687384;
	--igc-line: #e4e7ec;
	--igc-accent: #e76f51;
	--igc-accent-dark: #c9553a;
	--igc-soft: #fff2ed;
	position: relative;
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	padding: 0;
	overflow: visible;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--igc-ink);
	font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	line-height: 1.4;
	box-sizing: border-box;
}

.igc-tool *, .igc-tool *::before, .igc-tool *::after { box-sizing: border-box; }
.igc-tool button, .igc-tool textarea, .igc-tool select { max-width: 100%; }
.igc-tool button { line-height: 1.2; }
.igc-tool textarea, .igc-tool select, .igc-tool button { font-family: inherit; }
.igc-tool__glow { display: none; }
.igc-tool__header, .igc-form, .igc-results { position: relative; z-index: 1; }
.igc-tool__header { max-width: 850px; margin: 0 auto 40px; text-align: center; }
.igc-eyebrow { display: inline-flex; align-items: center; gap: 8px; color: var(--igc-accent); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.igc-eyebrow__dot { width: 7px; height: 7px; border-radius: 50%; background: var(--igc-accent); box-shadow: 0 0 0 4px #fbded3; }
.igc-tool h2 { max-width: 820px; margin: 15px auto 14px; font-size: clamp(35px, 5vw, 62px); line-height: .98; letter-spacing: -.065em; font-weight: 850; text-wrap: balance; overflow-wrap: anywhere; }
.igc-tool h2 em { color: var(--igc-accent); font-style: normal; }
.igc-tool__header p { max-width: 590px; margin: 0 auto; color: var(--igc-muted); font-size: 16px; line-height: 1.6; }
.igc-form { width: 100%; max-width: 930px; margin: 0 auto; padding: clamp(24px, 3.5vw, 38px); border: 1px solid #e2e6eb; border-radius: 18px; background: #fff; box-shadow: 0 10px 30px rgba(23, 32, 45, .07); }
.igc-form__field label { display: block; margin-bottom: 10px; color: var(--igc-ink); font-size: 13px; font-weight: 750; letter-spacing: -.01em; }
.igc-form textarea, .igc-form select { width: 100%; border: 1px solid #d9dee6; border-radius: 10px; outline: none; background: #fff; color: var(--igc-ink); font: inherit; transition: border-color .2s, box-shadow .2s, background .2s; }
.igc-form textarea { display: block; min-height: 124px; padding: 16px; resize: vertical; font-size: 15px; line-height: 1.5; }
.igc-form select { height: 50px; padding: 0 14px; font-size: 14px; cursor: pointer; }
.igc-form textarea:hover, .igc-form select:hover { border-color: #b9c1cc; }
.igc-form textarea:focus, .igc-form select:focus { border-color: #e79a87; background: #fffdfc; box-shadow: 0 0 0 4px rgba(231, 111, 81, .12); }
.igc-form textarea::placeholder { color: #a3aab5; }
.igc-form__meta { display: flex; justify-content: space-between; gap: 12px; margin-top: 9px; color: #8c96a5; font-size: 11px; }
.igc-form__meta strong { color: var(--igc-accent); }
.igc-form__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 26px; }
.igc-form__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; margin-top: 28px; }
.igc-button { display: inline-flex; align-items: center; justify-content: center; gap: 13px; min-height: 52px; padding: 0 19px 0 23px; border: 0; border-radius: 10px; background: var(--igc-ink); color: #fff; box-shadow: 0 8px 18px rgba(23, 32, 45, .18); font: inherit; font-size: 14px; font-weight: 750; cursor: pointer; transition: transform .2s, background .2s, box-shadow .2s; }
.igc-button:hover { background: var(--igc-accent); box-shadow: 0 10px 24px rgba(231, 111, 81, .28); transform: translateY(-1px); }
.igc-button:disabled { cursor: wait; opacity: .75; transform: none; }
.igc-button__arrow { display: inline-grid; place-items: center; width: 27px; height: 27px; border-radius: 7px; background: rgba(255,255,255,.18); font-size: 19px; line-height: 1; }
.igc-button__spinner { display: none; width: 16px; height: 16px; border: 2px solid rgba(255,255,255,.35); border-top-color: #fff; border-radius: 50%; animation: igc-spin .7s linear infinite; }
.igc-button.is-loading .igc-button__arrow { display: none; }
.igc-button.is-loading .igc-button__spinner { display: block; }
.igc-form__hint { color: #9aa1b7; font-size: 11px; }
.igc-message { min-height: 19px; margin-top: 13px; font-size: 13px; }
.igc-message.is-error { color: #c54161; }
.igc-message.is-success { color: #27816b; }
.igc-results { margin-top: 58px; animation: igc-rise .4s ease both; }
.igc-results__heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.igc-results h3 { margin: 9px 0 0; font-size: clamp(24px, 3vw, 32px); letter-spacing: -.04em; }
.igc-reset { padding: 10px 0; border: 0; background: transparent; color: var(--igc-accent-dark); font: inherit; font-size: 13px; font-weight: 750; cursor: pointer; }
.igc-caption-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.igc-result-card, .igc-hashtags-card { border: 1px solid var(--igc-line); border-radius: 17px; background: #fff; box-shadow: 0 7px 24px rgba(47, 37, 29, .05); }
.igc-result-card { display: flex; flex-direction: column; min-height: 255px; padding: 21px; }
.igc-result-card--featured { border-color: #f0b09f; box-shadow: 0 12px 30px rgba(231, 111, 81, .12); }
.igc-result-card__top, .igc-hashtags-card__top { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.igc-result-card__label { color: var(--igc-accent-dark); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.igc-result-card__count { white-space: nowrap; color: #9ba2b8; font-size: 10px; }
.igc-result-card__text { flex: 1; min-width: 0; margin: 23px 0; color: #3d4561; font-size: 14px; line-height: 1.7; white-space: pre-wrap; overflow-wrap: anywhere; }
.igc-copy { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 35px; padding: 0 12px; border: 1px solid #e1e3ee; border-radius: 8px; background: #fff; color: #67708b; font: inherit; font-size: 11px; font-weight: 700; cursor: pointer; transition: .2s; }
.igc-copy:hover, .igc-copy.is-copied { border-color: #f0b09f; background: var(--igc-soft); color: var(--igc-accent-dark); }
.igc-copy__icon { font-size: 14px; }
.igc-hashtags-card { margin-top: 14px; padding: 23px; }
.igc-hashtags-card h4 { margin: 7px 0 0; font-size: 18px; letter-spacing: -.02em; }
.igc-copy--outline { padding-right: 15px; padding-left: 15px; }
.igc-hashtags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.igc-hashtag { max-width: 100%; padding: 8px 11px; border-radius: 7px; background: #fff2ed; color: var(--igc-accent-dark); font-size: 12px; font-weight: 650; overflow-wrap: anywhere; }
@keyframes igc-spin { to { transform: rotate(360deg); } }
@keyframes igc-rise { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 760px) {
	.igc-tool { width: 100%; margin: 0; padding: 0; }
	.igc-tool h2 { font-size: clamp(34px, 8vw, 45px); }
	.igc-form__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.igc-caption-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.igc-result-card { min-height: 230px; }
}
@media (max-width: 500px) {
	.igc-tool { width: 100%; padding: 0; }
	.igc-tool__header { margin-bottom: 28px; }
	.igc-tool__header p { font-size: 14px; }
	.igc-form { padding: 18px 14px; border-radius: 15px; }
	.igc-form__grid, .igc-caption-grid { grid-template-columns: minmax(0, 1fr); }
	.igc-form__actions, .igc-results__heading { align-items: stretch; flex-direction: column; }
	.igc-button { width: 100%; }
	.igc-form__hint { margin-top: -5px; text-align: center; }
	.igc-results { margin-top: 38px; }
	.igc-results__heading { gap: 8px; }
	.igc-result-card { min-height: 210px; }
	.igc-hashtags-card__top { align-items: flex-start; flex-direction: column; }
	.igc-copy--outline { width: 100%; }
}
@media (max-width: 360px) {
	.igc-tool { width: 100%; margin: 0; padding: 0; }
	.igc-tool h2 { font-size: 31px; }
	.igc-form { padding: 16px 11px; }
	.igc-form textarea { min-height: 120px; padding: 13px; font-size: 14px; }
	.igc-form select { height: 46px; padding-right: 8px; padding-left: 11px; font-size: 13px; }
	.igc-result-card, .igc-hashtags-card { border-radius: 13px; }
	.igc-result-card { padding: 17px; }
}
@media (prefers-reduced-motion: reduce) {
	.igc-tool *, .igc-tool *::before, .igc-tool *::after {
		scroll-behavior: auto !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}
}