/* Home segons el briefing. Colors i tipografia ja presents a la web: #00abaf, #1d1d1b, Geist, Fraunces. */
#ih-home, .ih-page { color: #1d1d1b; font-family: Geist, "Geist Fallback", sans-serif; background: #fff; }
#ih-home *, .ih-page * { box-sizing: border-box; }
#ih-home img, .ih-page img { max-width: 100%; display: block; }
#ih-home a, .ih-page a { color: inherit; }
.ih-wrap { width: min(1200px, calc(100% - 2.5rem)); margin: 0 auto; }
.ih-kicker { margin: 0 0 1rem; font-size: 0.82rem; letter-spacing: 0.14em; text-transform: uppercase; color: #008f89; font-weight: 600; }
#ih-home h1, .ih-page h1 { margin: 0; font-family: Fraunces, Georgia, serif; font-weight: 560; font-size: clamp(2.6rem, 5vw, 4.6rem); letter-spacing: -0.03em; line-height: 1.02; }
#ih-home h2, .ih-page h2 { margin: 0; font-family: Fraunces, Georgia, serif; font-weight: 560; font-size: clamp(2rem, 3.4vw, 3.15rem); letter-spacing: -0.03em; line-height: 1.08; }
#ih-home h3, .ih-page h3 { margin: 0; font-size: 1.2rem; letter-spacing: -0.02em; line-height: 1.25; font-weight: 650; }
.ih-lead, .ih-page p { font-size: 1.05rem; line-height: 1.6; }
.ih-measure { max-width: 42rem; }
.ih-btn, .ih-btn-ghost, .ih-textlink { font: inherit; }
.ih-btn, .ih-btn-ghost { display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; padding: 0.65rem 1.15rem; text-decoration: none; border-radius: 999px; font-size: 0.95rem; font-weight: 600; }
button.ih-btn, button.ih-btn-ghost { cursor: pointer; font: inherit; }
button.ih-btn { border: 0; color: #fff; }
.ih-btn { background: #00abaf; color: #fff; }
.ih-btn:hover { background: #008f89; }
.ih-btn-ghost { background: transparent; color: #1d1d1b; border: 1px solid rgba(29,29,27,0.28); }
.ih-btn-ghost:hover { border-color: #1d1d1b; }
.ih-textlink { color: #008f89; font-weight: 650; text-decoration: none; }
button.ih-textlink { border: 0; background: transparent; padding: 0; cursor: pointer; font: inherit; }
.ih-textlink:hover { text-decoration: underline; }
#ih-home a:focus-visible, .ih-page a:focus-visible, .ih-page button:focus-visible, .ih-find:focus-visible { outline: 2px solid #1d1d1b; outline-offset: 3px; }
.ih-find { display: none; align-items: center; min-height: 2rem; padding: 0 0.85rem; margin-right: 0.35rem; background: #00abaf; color: #fff !important; text-decoration: none; border-radius: 999px; font-size: 12px; font-weight: 650; letter-spacing: 0.01em; white-space: nowrap; }
@media (min-width: 1100px) { .ih-find { display: inline-flex; } }
.ih-nav { display: flex; align-items: center; flex-wrap: nowrap; gap: 0.05rem; }
.ih-nav a { display: flex; align-items: center; min-height: 2.75rem; padding: 0.35rem 0.4rem; color: #1d1d1b; text-decoration: none; font-size: 11px; letter-spacing: 0.04em; text-transform: uppercase; font-weight: 600; white-space: nowrap; }
.ih-nav a:hover { color: #008f89; }
nav.flex-col .ih-nav { flex-direction: column; align-items: stretch; }
nav.flex-col .ih-nav a { font-size: 0.95rem; letter-spacing: 0.04em; }
nav.flex-col .ih-nav-cta { color: #008f89; }
header, .ih-top { z-index: 60; }
.ih-top { z-index: 60; }
.ih-drop { position: relative; }
.ih-drop-top { gap: 0.28rem; }
.ih-drop-top::after { content: ""; width: 5px; height: 5px; margin-top: -2px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); opacity: 0.7; }
.ih-drop-panel { position: absolute; top: calc(100% - 2px); left: 0; z-index: 70; display: none; min-width: 280px; padding: 0.45rem; background: #fff; border: 1px solid rgba(29,29,27,0.08); box-shadow: 0 24px 60px rgba(16,22,20,0.16); }
.ih-drop:hover > .ih-drop-panel, .ih-drop:focus-within > .ih-drop-panel, .ih-drop.is-open > .ih-drop-panel { display: grid; }
.ih-drop-end > .ih-drop-panel { left: auto; right: 0; }
.ih-drop-wide { width: min(760px, calc(100vw - 2rem)); grid-template-columns: 1fr 1fr; gap: 0.15rem 0.85rem; padding: 0.7rem; }
.ih-drop-col { padding: 0.35rem 0.15rem 0.5rem; }
.ih-drop-label { margin: 0.35rem 0.75rem 0.15rem; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 700; }
.ih-nav .ih-drop-panel a { display: block; min-height: 0; padding: 0.55rem 0.75rem; font-size: 14.5px; font-weight: 550; letter-spacing: 0; text-transform: none; white-space: normal; border-radius: 8px; }
.ih-nav .ih-drop-panel a:hover { background: #f3fbfb; color: #008f89; }
.ih-drop-photo { position: relative; display: flex !important; align-items: flex-end; grid-column: 1 / -1; aspect-ratio: 3 / 1; min-height: 0; height: auto; padding: 0.95rem !important; overflow: hidden; border-radius: 10px; color: #fff !important; }
.ih-drop-team { aspect-ratio: 3 / 2; }
.ih-drop-adults { aspect-ratio: 2.05 / 1; }
.ih-drop-empresa { aspect-ratio: 2.55 / 1; }
.ih-drop-col:only-of-type { grid-column: 1 / -1; }
.ih-drop-photo img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; object-position: center 42%; }
.ih-drop-adults img { object-position: 80% 34%; }
.ih-drop-empresa img { object-position: 58% 42%; }
.ih-drop-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent, rgba(8,12,11,0.78)); }
.ih-drop-photo span { position: relative; z-index: 1; color: #fff; font-family: Fraunces, Georgia, serif; font-size: 1.35rem; font-weight: 560; letter-spacing: -0.03em; line-height: 1.05; }
.ih-nav .ih-drop-photo:hover { background: transparent; color: #fff !important; }
h2[id], .ih-panel[id] { scroll-margin-top: 5.5rem; }
nav.flex-col .ih-drop-panel, nav.flex-col .ih-drop:hover > .ih-drop-panel { position: static; display: grid; width: auto; min-width: 0; box-shadow: none; border: 0; padding: 0 0 0.35rem 0.35rem; }
nav.flex-col .ih-drop-wide { grid-template-columns: 1fr; }
nav.flex-col .ih-drop-photo { display: none !important; }
nav.flex-col .ih-drop-top::after { display: none; }

.ih-hero { display: grid; gap: 2rem; align-items: center; width: min(1200px, calc(100% - 2.5rem)); margin: 0 auto; padding: 2.5rem 0 4.5rem; }
.ih-hero-copy .ih-sub { margin: 1rem 0 0; font-size: clamp(1.25rem, 2vw, 1.55rem); font-weight: 650; letter-spacing: -0.02em; }
.ih-hero-copy .ih-lead { margin: 1rem 0 0; max-width: 38rem; color: #24302e; }
.ih-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.75rem; }
.ih-hero-photo { margin: 0; }
.ih-hero-photo img { width: 100%; height: min(68vh, 640px); object-fit: cover; object-position: center 30%; }
@media (min-width: 900px) {
  .ih-hero { grid-template-columns: 1fr 1.05fr; gap: 3.5rem; min-height: calc(100svh - 3.5rem); padding: 1.5rem 0 5rem; }
}

.ih-needs, .ih-why, .ih-now, .ih-press, .ih-stories, .ih-help, .ih-centres { padding: 4.5rem 0; }
.ih-needs { background: #f7f8f7; }
.ih-needs h2, .ih-why h2, .ih-now h2, .ih-stories h2, .ih-centres h2 { margin-bottom: 1.75rem; }
#ih-home .ih-needs h2 { margin: 0 0 3.25rem; }
.ih-need-grid { display: grid; gap: 1rem; margin-top: 0; }
.ih-need { display: flex; flex-direction: column; gap: 0.55rem; min-height: 100%; padding: 1.35rem 1.25rem 1.2rem; background: #fff; text-decoration: none; border: 1px solid rgba(29,29,27,0.08); }
.ih-need:hover { box-shadow: 0 16px 36px rgba(16,22,20,0.14); }
.ih-need p { margin: 0; color: #3a4542; font-size: 0.98rem; line-height: 1.5; flex: 1; }
.ih-need span { color: #008f89; font-weight: 650; font-size: 0.95rem; }
@media (min-width: 720px) { .ih-need-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1020px) { .ih-need-grid { grid-template-columns: 1fr 1fr 1fr; } }

.ih-services { background: #1d1d1b; color: #fff; }
.ih-services-row { display: flex; flex-wrap: wrap; gap: 1.25rem 2rem; align-items: center; justify-content: space-between; padding: 1.75rem 0; }
.ih-services h2 { font-family: Geist, sans-serif; font-size: 1.15rem; font-weight: 650; letter-spacing: 0; }
.ih-services p { margin: 0.35rem 0 0; color: rgba(255,255,255,0.78); }
#ih-home .ih-services .ih-textlink { display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0.65rem 1.15rem; background: #f0b334; color: #1d1d1b; border-radius: 999px; font-weight: 700; text-decoration: none; }
#ih-home .ih-services .ih-textlink:hover { background: #d9a044; color: #1d1d1b; text-decoration: none; }

.ih-why { background: #fff; }
.ih-why .ih-lead { margin: 0 0 2rem; color: #24302e; }
.ih-benefits { display: grid; gap: 1.5rem; margin: 0; padding: 0; list-style: none; }
.ih-benefits li { padding-top: 1rem; border-top: 2px solid #00abaf; }
.ih-benefits li:nth-child(2) { border-top-color: #f0b334; }
.ih-benefits li:nth-child(3) { border-top-color: #971038; }
.ih-benefits li:nth-child(4) { border-top-color: #444853; }
.ih-benefits strong { display: block; margin-bottom: 0.35rem; font-size: 1.05rem; }
.ih-benefits span { display: block; color: #3a4542; line-height: 1.5; }
.ih-motto { margin: 2rem 0 0; font-family: Fraunces, Georgia, serif; font-size: clamp(1.6rem, 2.5vw, 2.1rem); letter-spacing: -0.03em; color: #971038; }
@media (min-width: 800px) { .ih-benefits { grid-template-columns: 1fr 1fr 1fr 1fr; gap: 1.25rem; } }

.ih-now { background: #f4f7f6; }
.ih-now .ih-lead { margin: 0.75rem 0 1.75rem; max-width: 40rem; color: #24302e; }
.ih-now-grid { display: grid; gap: 1.15rem; }

.ih-stories-grid { display: grid; gap: 2rem; align-items: center; }
.ih-stories img { width: 100%; aspect-ratio: 4/3; object-fit: cover; object-position: center 20%; }
.ih-stories .ih-lead { margin: 1rem 0 1.25rem; color: #24302e; }
@media (min-width: 860px) { .ih-stories-grid { grid-template-columns: 1.05fr 0.95fr; gap: 3rem; } }

.ih-help { background: #00abaf; color: #fff; }
.ih-help h2, .ih-help .ih-subhead { color: #fff; }
.ih-help .ih-subhead { margin: 0.4rem 0 0; font-size: clamp(1.35rem, 2vw, 1.8rem); font-weight: 650; letter-spacing: -0.02em; }
.ih-help .ih-lead { margin: 1rem 0 0; max-width: 40rem; color: rgba(255,255,255,0.92); }
.ih-help .ih-actions { margin-top: 1.5rem; }
#ih-home .ih-help .ih-btn { background: #f0b334; color: #1d1d1b; }
#ih-home .ih-help .ih-btn:hover { background: #d9a044; color: #1d1d1b; }
#ih-home .ih-help .ih-btn-ghost,
#ih-stage .ih-help .ih-btn-ghost,
.ih-help .ih-btn-ghost { color: #fff; border-color: rgba(255,255,255,0.7); background: transparent; }
#ih-home .ih-help .ih-btn-ghost:hover,
#ih-stage .ih-help .ih-btn-ghost:hover,
.ih-help .ih-btn-ghost:hover { color: #fff; border-color: #fff; }

.ih-centres { background: #eef6f3; }
.ih-centres .ih-lead { margin: -0.75rem 0 1.75rem; color: #24302e; }
.ih-centre-layout { display: grid; gap: 1.25rem; }
.ih-centre-grid { display: grid; gap: 0.75rem; }
.ih-centre { padding: 1.15rem 1.15rem 1.05rem; border: 0; border-top: 2px solid rgba(29,29,27,0.14); background: #fff; text-align: left; cursor: pointer; box-shadow: 0 8px 24px rgba(16,22,20,0.04); }
.ih-centre.is-active { border-top-color: #00abaf; box-shadow: 0 14px 32px rgba(16,22,20,0.1); }
.ih-centre h3 { font-family: Fraunces, Georgia, serif; font-size: 1.45rem; font-weight: 560; }
.ih-centre p { margin: 0.35rem 0 0; color: #3a4542; font-size: 0.95rem; }
.ih-centre-kind { letter-spacing: 0.12em; text-transform: uppercase; font-size: 0.72rem !important; color: #5c6a66 !important; }
#ih-home .ih-centre a, .ih-centres .ih-centre a { color: #008f89; font-weight: 650; text-decoration: none; }
#ih-home .ih-centre a:hover, .ih-centres .ih-centre a:hover { text-decoration: underline; }
.ih-centre[data-id="central"] { background: #00abaf; border-top-color: #007e82; color: #fff; }
.ih-centre[data-id="central"] h3,
.ih-centre[data-id="central"] p { color: #fff; }
.ih-centre[data-id="central"] .ih-centre-kind { color: rgba(255,255,255,0.85) !important; }
#ih-home .ih-centre[data-id="central"] a, .ih-centres .ih-centre[data-id="central"] a { color: #fff; }
.ih-centre[data-id="escaldes"],
.ih-centre[data-id="encamp"] { background: #971038; border-top-color: #7a0d2e; color: #fff; }
.ih-centre[data-id="escaldes"] h3,
.ih-centre[data-id="encamp"] h3,
.ih-centre[data-id="escaldes"] p,
.ih-centre[data-id="encamp"] p { color: #fff; }
.ih-centre[data-id="escaldes"] .ih-centre-kind,
.ih-centre[data-id="encamp"] .ih-centre-kind { color: rgba(255,255,255,0.82) !important; }
#ih-home .ih-centre[data-id="escaldes"] a,
#ih-home .ih-centre[data-id="encamp"] a,
.ih-centres .ih-centre[data-id="escaldes"] a,
.ih-centres .ih-centre[data-id="encamp"] a { color: #fff; }
.ih-centre[data-id="central"].is-active { border-top-color: #fff; }
.ih-centre[data-id="escaldes"].is-active,
.ih-centre[data-id="encamp"].is-active { border-top-color: #f0b334; }
.ih-map-wrap { position: relative; min-height: 420px; background: #d7ece9; overflow: hidden; }
.ih-map { height: 100%; min-height: 420px; }
#ih-home .leaflet-container img, .ih-centres .leaflet-container img { max-width: none; }
.ih-map-link { position: absolute; z-index: 500; top: 12px; left: 12px; background: #fff; color: #1d1d1b; padding: 0.45rem 0.7rem; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none; box-shadow: 0 6px 16px rgba(16,22,20,0.12); }
@media (min-width: 700px) and (max-width: 979px) { .ih-centres[data-mode="all"] .ih-centre-grid { grid-template-columns: 1fr 1fr 1fr; } }
@media (min-width: 980px) {
  .ih-centre-layout { grid-template-columns: minmax(280px, 340px) 1fr; gap: 1.5rem; align-items: stretch; }
  .ih-map-wrap, .ih-map { min-height: 560px; }
}
.ih-actions-end { margin-top: 1.5rem; }

.ih-page { min-height: 100vh; }
.ih-top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; height: 3.5rem; padding: 0 1.25rem; border-bottom: 1px solid rgba(29,29,27,0.08); background: #fff; position: sticky; top: 0; }
.ih-top img { height: 1.7rem; width: auto; }
header img[src*="logo-imaginari"], header img[src*="logo-academic"],
.ih-top img[src*="logo-imaginari"], .ih-top img[src*="logo-academic"] { height: 2.55rem !important; width: auto !important; }
.ih-top nav { display: flex; gap: 1rem; align-items: center; }
.ih-main { width: min(760px, calc(100% - 2.5rem)); margin: 0 auto; padding: 3rem 0 5rem; }
.ih-progress { height: 3px; background: rgba(29,29,27,0.08); margin: 1.5rem 0 1.75rem; }
.ih-progress span { display: block; height: 100%; background: #00abaf; }
.ih-options { display: grid; gap: 0.75rem; margin-top: 1.5rem; }
.ih-option { width: 100%; text-align: left; min-height: 3.25rem; padding: 0.9rem 1rem; border: 1px solid rgba(29,29,27,0.16); background: #fff; font: inherit; font-size: 1.02rem; cursor: pointer; }
.ih-option:hover, .ih-option[aria-pressed="true"] { border-color: #00abaf; background: #f3fbfb; }
.ih-back { margin-top: 1.25rem; background: none; border: 0; padding: 0.4rem 0; font: inherit; font-weight: 650; color: #008f89; cursor: pointer; }
.ih-result { margin-top: 0.5rem; padding: 1.25rem; background: #f7f8f7; }
.ih-result p { margin: 0.6rem 0 0; }
.ih-foot { padding: 1.5rem 1.25rem 2rem; color: #5c6764; font-size: 0.9rem; border-top: 1px solid rgba(29,29,27,0.08); }
.ih-compare { width: 100%; border-collapse: collapse; margin: 1.5rem 0; font-size: 0.98rem; }
.ih-compare th, .ih-compare td { text-align: left; vertical-align: top; padding: 0.85rem 0.75rem; border-bottom: 1px solid rgba(29,29,27,0.1); }
.ih-compare th { font-size: 0.82rem; letter-spacing: 0.08em; text-transform: uppercase; }
.ih-stack { display: grid; gap: 0.75rem; }
.ih-stack article { padding: 1rem; background: #f7f8f7; }
@media (max-width: 700px) {
  .ih-table-wrap { display: none; }
  .ih-needs, .ih-why, .ih-now, .ih-press, .ih-help, .ih-centres { padding: 3.5rem 0; }
  .ih-actions .ih-btn, .ih-actions .ih-btn-ghost { width: 100%; }
  .ih-hero-shade { background: linear-gradient(180deg, rgba(16,22,20,0.2) 0%, rgba(16,22,20,0.82) 70%); }
}

.ih-hero { position: relative; display: flex; align-items: flex-end; width: 100%; max-width: none; margin: 0; min-height: calc(100svh - 3.5rem); padding: 0; overflow: hidden; color: #fff; }
.ih-hero-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 40%; }
.ih-hero-copy { position: relative; z-index: 1; width: min(720px, calc(100% - 2.5rem)); margin: 0; padding: 8rem 0 4.5rem 6vw; }
.ih-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(12,18,17,0.82) 0%, rgba(12,18,17,0.42) 52%, rgba(12,18,17,0.12) 100%); }
.ih-hero .ih-kicker { color: #f0b334; }
.ih-hero h1, .ih-hero .ih-sub, .ih-hero .ih-lead { color: #fff; }
.ih-hero .ih-lead { color: rgba(255,255,255,0.92); }
#ih-home .ih-hero .ih-btn-ghost,
.ih-hero .ih-btn-ghost { background: #fff; color: #1d1d1b; border-color: #fff; }
#ih-home .ih-hero .ih-btn-ghost:hover,
.ih-hero .ih-btn-ghost:hover { background: #f4f8fb; border-color: #f4f8fb; color: #1d1d1b; }
@media (min-width: 900px) { .ih-hero { display: flex; grid-template-columns: none; min-height: calc(100svh - 3.5rem); } }

.ih-needs { background: #eef2f1; }
.ih-need { padding: 0; overflow: hidden; background: #fff; border: 0; box-shadow: 0 10px 30px rgba(16,22,20,0.08); }
.ih-need img { width: 100%; height: 190px; object-fit: cover; transition: transform .45s ease; }
.ih-need:hover img { transform: scale(1.05); }
.ih-need { gap: 0; border-top: 0; }
.ih-need div { display: flex; flex-direction: column; gap: 0.55rem; padding: 1.35rem 1.25rem 1.3rem; flex: 1; }
#ih-home .ih-need h3 { font-size: 1.35rem; font-weight: 700; letter-spacing: -0.02em; }
#ih-home .ih-need span { align-self: flex-start; display: inline-flex; margin-top: 0.45rem; padding: 0.55rem 0.85rem; background: #fff; color: #1d1d1b; font-size: 0.88rem; font-weight: 700; line-height: 1.2; }
.ih-need:hover { box-shadow: 0 16px 36px rgba(16,22,20,0.14); }
#ih-home .ih-tone-gold div { background: #f0b334; color: #1d1d1b; }
#ih-home .ih-tone-gold p { color: rgba(29,29,27,0.86); }
#ih-home .ih-tone-teal div { background: #37c0aa; color: #fff; }
#ih-home .ih-tone-teal p { color: rgba(255,255,255,0.95); }
#ih-home .ih-tone-teal span { color: #0f6f62; }
#ih-home .ih-tone-wine div { background: #971038; color: #fff; }
#ih-home .ih-tone-wine p { color: rgba(255,255,255,0.92); }
#ih-home .ih-tone-wine span { color: #971038; }
#ih-home .ih-tone-slate div { background: #5e656c; color: #fff; }
#ih-home .ih-tone-slate p { color: rgba(255,255,255,0.92); }
#ih-home .ih-tone-slate span { color: #3c4248; }

.ih-services { position: relative; background: #1d1d1b url("/photos/web/traduccio.jpg") center 30% / cover no-repeat; }
.ih-services::before { content: ""; position: absolute; inset: 0; background: rgba(68,72,83,0.84); }
.ih-services-row { position: relative; z-index: 1; }

.ih-why-grid { display: grid; gap: 2rem; align-items: center; }
.ih-why-photo { margin: 0; }
.ih-why-photo img { width: 100%; height: 100%; min-height: 420px; object-fit: cover; object-position: center 20%; }
@media (min-width: 900px) { .ih-why-grid { grid-template-columns: 0.9fr 1.1fr; gap: 3.5rem; } .ih-benefits { grid-template-columns: 1fr 1fr; } }

.ih-now .ih-promo { position: relative; display: flex; flex-direction: column; min-height: 100%; overflow: hidden; color: #1d1d1b; background: #fff; border: 0; text-decoration: none; box-shadow: 0 16px 40px rgba(16,22,20,0.1); }
.ih-now .ih-promo img { position: relative; inset: auto; width: 100%; height: 320px; aspect-ratio: auto; object-fit: cover; transition: transform .5s ease; }
.ih-now .ih-promo:hover img { transform: scale(1.04); }
.ih-now .ih-promo-art img { object-fit: contain; background: #fffdf8; padding: 0.75rem; }
.ih-now .ih-promo-acad img { background: #f4f8fb; }
.ih-now .ih-promo div { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 0.45rem; margin: 0; min-height: 0; padding: 1.25rem 1.3rem 1.4rem; background: #fff; color: #1d1d1b; flex: 1; }
.ih-now .ih-promo em { font-style: normal; font-size: 0.75rem; letter-spacing: 0.14em; text-transform: uppercase; color: #008f89; font-weight: 700; }
.ih-now .ih-promo h3 { font-family: Fraunces, Georgia, serif; font-size: 1.7rem; font-weight: 560; color: #1d1d1b; }
.ih-now .ih-promo p { margin: 0; color: #3a4542; }
.ih-now .ih-promo span { margin-top: auto; color: #008f89; font-weight: 650; }
.ih-now .ih-promo-imag em, .ih-now .ih-promo-imag span { color: #de1e23; }
.ih-now .ih-promo-gold { border-top: 4px solid #f0b334; }
.ih-now .ih-promo-gold em, .ih-now .ih-promo-gold span { color: #8a6410; }
@media (min-width: 900px) {
  .ih-now-grid { grid-template-columns: 1fr 1fr 1fr; align-items: stretch; }
  .ih-now .ih-promo img { height: 340px; }
}
.ih-press { background: #f3efe6; }
.ih-press-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1rem 2rem; margin-bottom: 1.35rem; }
#ih-home .ih-press .ih-kicker { margin-bottom: 0.45rem; color: #8a6410; }
#ih-home .ih-press h2 { margin: 0; }
.ih-press-more { display: inline-flex; align-items: center; min-height: 2.7rem; padding: 0.45rem 1rem; background: #1d1d1b; color: #fff !important; text-decoration: none; font-weight: 700; }
.ih-press-more:hover { background: #971038; }
.ih-press-grid { display: grid; gap: 0.85rem; }
.ih-press-lead { position: relative; display: flex; align-items: flex-end; min-height: 460px; overflow: hidden; color: #fff; text-decoration: none; }
.ih-press-lead img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; object-position: center 60%; transition: transform .55s ease; }
.ih-press-lead:hover img { transform: scale(1.04); }
.ih-press-lead::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(12,18,17,0.05) 20%, rgba(12,18,17,0.88) 100%); }
.ih-press-lead div { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 0.25rem; padding: 1.6rem 1.5rem 1.5rem; }
.ih-press-lead em { font-style: normal; font-size: 0.75rem; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 700; color: #f0b334; }
#ih-home .ih-press-lead strong { font-family: Fraunces, Georgia, serif; font-weight: 560; font-size: clamp(4.4rem, 7vw, 6.6rem); line-height: 0.82; letter-spacing: -0.045em; color: #fff; }
#ih-home .ih-press-lead h3 { font-family: Fraunces, Georgia, serif; font-weight: 560; font-size: clamp(1.8rem, 3vw, 2.5rem); color: #fff; }
#ih-home .ih-press-lead span { align-self: flex-start; margin-top: 0.7rem; padding: 0.55rem 0.85rem; background: #f0b334; color: #1d1d1b; font-weight: 750; }
.ih-press-rail { display: grid; gap: 0.85rem; }
.ih-press-item { display: grid; grid-template-columns: 7.4rem 1fr; min-height: 9.2rem; background: #fff; color: #1d1d1b; text-decoration: none; box-shadow: 0 14px 34px rgba(16,22,20,0.08); }
.ih-press-item b { position: relative; display: grid; place-items: center; padding: 0.6rem; font-family: Fraunces, Georgia, serif; font-size: 1.45rem; font-weight: 560; line-height: 0.95; text-align: center; letter-spacing: -0.03em; }
.ih-press-item b::after { content: ""; position: absolute; top: 0.55rem; bottom: 0.55rem; right: -7px; width: 14px; background: radial-gradient(circle, #f3efe6 5px, transparent 5.5px); background-size: 14px 18px; background-repeat: repeat-y; }
.ih-press-teal b { background: #37c0aa; color: #fff; }
.ih-press-gold b { background: #f0b334; color: #1d1d1b; }
.ih-press-item div { display: flex; flex-direction: column; justify-content: center; gap: 0.2rem; padding: 0.9rem 1rem 0.9rem 1.2rem; }
.ih-press-item em { font-style: normal; font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; color: #8a6410; }
.ih-press-teal em { color: #0f6f62; }
#ih-home .ih-press-item h3 { font-family: Fraunces, Georgia, serif; font-size: 1.28rem; font-weight: 560; line-height: 1.15; }
.ih-press-item p { margin: 0; color: #3a4542; font-size: 0.92rem; }
#ih-home .ih-press-item span { margin-top: 0.35rem; font-size: 0.88rem; font-weight: 750; color: #1d1d1b; }
.ih-press-item:hover { transform: translateY(-3px); }
@media (min-width: 980px) {
  .ih-press-grid { grid-template-columns: 1.25fr 0.9fr; align-items: stretch; }
  .ih-press-lead { min-height: 100%; }
  .ih-press-rail { grid-template-rows: 1fr 1fr 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .ih-press-lead img, .ih-press-item { transition: none; }
}
.ih-artframe { margin: 0; display: grid; place-items: center; min-height: 560px; padding: 2.5rem; background: #fffdf8; }
.ih-artframe img { width: min(100%, 640px); height: auto; max-height: 620px; object-fit: contain; }
.ih-imag-copy { display: flex; flex-direction: column; justify-content: center; padding: 3.5rem 6vw; background: #12302e; color: #fff; }
.ih-imag-copy h1, .ih-imag-copy p, .ih-imag-copy .ih-kicker { color: #fff; }
.ih-imag-copy .ih-kicker { color: #f0b334; }
.ih-imag-copy .ih-btn-ghost { color: #fff; border-color: rgba(255,255,255,0.7); }
.ih-method { background: #971038; color: #fff; }
.ih-method h2, .ih-method .ih-lead { color: #fff; }
.ih-method .ih-lead { color: rgba(255,255,255,0.92); }
.ih-dices { display: grid; gap: 0.75rem; margin: 1.75rem 0 0; padding: 0; list-style: none; }
.ih-dices li { padding: 1.1rem 1.15rem; background: rgba(255,255,255,0.06); border-top: 2px solid #00abaf; }
.ih-dices strong { display: block; font-family: Fraunces, Georgia, serif; font-size: 1.35rem; font-weight: 560; }
.ih-dices span { display: block; margin-top: 0.35rem; color: rgba(255,255,255,0.86); }
.ih-note { padding: 1.35rem 1.25rem; background: #fff; box-shadow: 0 12px 30px rgba(16,22,20,0.06); }
.ih-note p { margin: 0.55rem 0 0; color: #3a4542; }
.ih-need em { font-style: normal; font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase; color: #008f89; font-weight: 700; }
.ih-ticks { margin: 0.35rem 0 0; padding: 0; list-style: none; }
.ih-ticks li { position: relative; padding: 0.15rem 0 0.15rem 0.9rem; color: #3a4542; font-size: 0.95rem; }
.ih-ticks li::before { content: ""; position: absolute; left: 0; top: 0.55rem; width: 0.35rem; height: 0.35rem; border-radius: 50%; background: #00abaf; }
.ih-split .ih-panel:only-child { grid-column: 1 / -1; min-height: 460px; }
@media (min-width: 800px) { .ih-dices { grid-template-columns: repeat(5, 1fr); } .ih-quad { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1100px) { .ih-quad { grid-template-columns: 1fr 1fr 1fr 1fr; } }
@media (prefers-reduced-motion: reduce) { .ih-now .ih-promo img { transition: none; } }

.ih-stories { background: #5e656c; color: #fff; }
.ih-stories-grid { padding: 0; }
.ih-stories-copy { max-width: 40rem; }
.ih-stories h2, .ih-stories .ih-lead, .ih-stories .ih-sub { color: #fff; }
.ih-stories .ih-lead { color: rgba(255,255,255,0.92); }
#ih-home .ih-stories .ih-textlink { color: #f0b334; }
@media (min-width: 860px) { .ih-stories-grid { grid-template-columns: 1fr; } }

.ih-help { position: relative; background-size: cover; background-position: center; }
.ih-help::before { content: ""; position: absolute; inset: 0; background: rgba(151,16,56,0.88); }
.ih-help .ih-wrap { position: relative; z-index: 1; }
.ih-centres { position: relative; }
.ih-centres .ih-wrap { position: relative; z-index: 1; }

.inlingua-pin-wrap, .leaflet-marker-icon.inlingua-pin-wrap { background: transparent !important; border: none !important; }
.inlingua-pin { position: relative; display: grid; place-items: center; width: 40px; height: 40px; }
.inlingua-pin-wave, .inlingua-pin-wave-2 { position: absolute; top: 50%; left: 50%; width: 28px; height: 28px; border: 2px solid #00abaf; border-radius: 999px; transform: translate(-50%, -50%) scale(1); animation: pin-pulse 2.2s ease-out infinite; }
.inlingua-pin-wave-2 { animation-delay: 0.75s; }
.inlingua-pin-core { position: relative; z-index: 1; display: grid; place-items: center; width: 28px; height: 28px; background: #fff; border: 2px solid #00abaf; border-radius: 999px; box-shadow: 0 6px 16px rgba(16,22,20,0.2); }
.inlingua-pin-core svg { display: block; width: 16px; height: 16px; }
.inlingua-pin.is-active .inlingua-pin-core { box-shadow: 0 0 0 3px rgba(0,171,175,0.28), 0 8px 18px rgba(16,22,20,0.22); }
.inlingua-pin.is-imaginari .inlingua-pin-wave,
.inlingua-pin.is-imaginari .inlingua-pin-wave-2 { border-color: #971038; }
.inlingua-pin.is-imaginari .inlingua-pin-core { border-color: #971038; }
.inlingua-pin.is-imaginari.is-active .inlingua-pin-core { box-shadow: 0 0 0 3px rgba(151,16,56,0.32), 0 8px 18px rgba(16,22,20,0.22); }
@keyframes pin-pulse { 0% { opacity: 0.7; transform: translate(-50%, -50%) scale(1); } to { opacity: 0; transform: translate(-50%, -50%) scale(2.35); } }
@media (prefers-reduced-motion: reduce) { .inlingua-pin-wave, .inlingua-pin-wave-2 { animation: none; } }
@media (min-width: 701px) { .ih-stack { display: none; } }

.ih-stage { background: #fff; color: #1d1d1b; font-family: Geist, "Geist Fallback", sans-serif; }
#ih-stage h1 { margin: 0; font-family: Fraunces, Georgia, serif; font-weight: 560; font-size: clamp(2.6rem, 5vw, 4.6rem); letter-spacing: -0.03em; line-height: 1.02; }
#ih-stage h2 { margin: 0 0 0.6rem; font-family: Fraunces, Georgia, serif; font-weight: 560; font-size: clamp(2rem, 3.4vw, 3.15rem); letter-spacing: -0.03em; line-height: 1.08; }
#ih-stage h3 { margin: 0; font-size: 1.2rem; font-weight: 650; letter-spacing: -0.02em; }
#ih-stage .ih-lead { font-size: 1.05rem; line-height: 1.6; }
.ih-stage .ih-hero { min-height: 78vh; }
.ih-stage .ih-hero-bg,
.ih-stage .ih-panel img,
.ih-stage .ih-band-bg { max-width: none; width: 100%; height: 100%; }
#ih-stage .ih-hero-bg,
#ih-stage .ih-band-bg,
#ih-stage .ih-panel > img,
#ih-home .ih-hero-bg,
#ih-home .ih-stories-bg,
#ih-home .ih-orient-bg {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover;
}
#ih-stage .ih-panel-light > img {
  object-fit: contain;
  object-position: center;
  background: #f6f1e4;
}
.ih-split { display: grid; }
.ih-panel { position: relative; display: flex; align-items: flex-end; min-height: 560px; overflow: hidden; color: #fff; text-decoration: none; }
button.ih-panel { width: 100%; border: 0; padding: 0; background: transparent; cursor: pointer; text-align: left; font: inherit; }
button.ih-press-more { border: 0; cursor: pointer; font: inherit; }
.ih-panel img { position: absolute; inset: 0; object-fit: cover; transition: transform .6s ease; }
.ih-panel:hover img { transform: scale(1.05); }
.ih-panel div { position: relative; z-index: 1; width: 100%; padding: 2.4rem 6vw 2.6rem; background: linear-gradient(transparent, rgba(8,12,11,0.88)); }
.ih-panel h2, .ih-panel h3, .ih-panel p, .ih-panel span { color: #fff; }
.ih-panel p { max-width: 36rem; margin: 0.7rem 0 0; }
.ih-panel span { display: inline-block; margin-top: 1rem; color: #f0b334; font-weight: 650; }
.ih-panel-light { background: #f6f1e4; color: #1d1d1b; align-items: center; }
.ih-panel-light img { object-fit: contain; background: #f6f1e4; }
.ih-panel-light div { background: none; }
.ih-panel-light h2, .ih-panel-light h3, .ih-panel-light p { color: #1d1d1b; }
.ih-panel-light span { color: #008f89; }
#ih-stage .ih-individual { padding: 3.2rem 0 3.6rem; }
#ih-stage .ih-individual p { max-width: 40rem; margin: 0; color: #3a4542; }
#ih-stage .ih-individual a { display: inline-block; margin-top: 1.1rem; color: #8a6410; font-weight: 650; text-decoration: none; }
#ih-stage .ih-individual a:hover { text-decoration: underline; }
@media (min-width: 900px) { .ih-split { grid-template-columns: 1fr 1fr; } .ih-panel { min-height: 680px; } }
.ih-section { padding: 4.5rem 0; }
.ih-section h2 { margin-bottom: 0.6rem; }
.ih-band { position: relative; min-height: 460px; display: flex; align-items: flex-end; color: #fff; overflow: hidden; }
.ih-band-bg { position: absolute; inset: 0; object-fit: cover; }
.ih-band::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,12,11,0.82), rgba(8,12,11,0.28)); }
.ih-band .ih-wrap { position: relative; z-index: 1; padding: 4rem 0; }
.ih-band h2, .ih-band p { color: #fff; }
.ih-langs { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1.25rem; }
.ih-langs span { border: 1px solid rgba(255,255,255,0.45); border-radius: 999px; padding: 0.4rem 0.75rem; font-size: 0.92rem; }
.ih-mosaic { display: grid; gap: 0.75rem; }
#ih-stage .ih-mosaic-quad { margin-top: 1.4rem; }
.ih-mosaic .ih-panel { min-height: 280px; }
@media (min-width: 900px) {
  .ih-mosaic { grid-template-columns: 1.35fr 1fr; }
  .ih-mosaic .ih-panel:first-child { grid-row: span 2; min-height: 640px; }
  #ih-stage .ih-mosaic-quad { grid-template-columns: 1fr 1fr; }
  #ih-stage .ih-mosaic-quad .ih-panel,
  #ih-stage .ih-mosaic-quad .ih-panel:first-child { grid-row: auto; min-height: 460px; }
}
#ih-stage .ih-mosaic-quad .ih-panel::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(8,14,13,0.08) 18%, rgba(8,14,13,0.86) 100%); }
#ih-stage .ih-mosaic-quad .ih-panel div { z-index: 2; background: none; padding: 1.5rem 1.35rem 1.45rem; }
#ih-stage .ih-mosaic-quad .ih-panel h2 { font-size: clamp(1.65rem, 2.3vw, 2.25rem); }
#ih-stage .ih-mosaic-quad .ih-panel .ih-kicker { color: #f0b334; }
#ih-stage .ih-team { display: grid; background: #5e656c; color: #fff; }
#ih-stage .ih-team-copy { display: flex; flex-direction: column; justify-content: center; padding: 3.4rem 6vw; }
#ih-stage .ih-team .ih-kicker { color: #f0b334; }
#ih-stage .ih-team h2,
#ih-stage .ih-team .ih-lead { color: #fff; }
#ih-stage .ih-team .ih-lead { max-width: 34rem; color: rgba(255,255,255,0.92); }
#ih-stage .ih-team .ih-btn { align-self: flex-start; margin-top: 1.5rem; background: #f0b334; color: #1d1d1b; }
#ih-stage .ih-team .ih-btn:hover { background: #d9a044; color: #1d1d1b; }
#ih-stage .ih-team figure { position: relative; margin: 0; min-height: 420px; overflow: hidden; }
#ih-stage .ih-team img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; object-position: 100% 42%; }
@media (min-width: 900px) {
  #ih-stage .ih-team { grid-template-columns: 0.92fr 1.08fr; min-height: 560px; }
  #ih-stage .ih-team figure { min-height: 100%; }
}
.ih-compare-join { padding: 1.15rem 0 2.4rem; background: #fff; }
.ih-compare-join .ih-table-wrap { display: block; overflow-x: auto; }
.ih-compare-join .ih-compare { min-width: 680px; margin: 0.7rem 0 0; }
.ih-compare-join .ih-actions { margin-top: 1.05rem; }
#ih-stage .ih-compare { background: #fff; }
#ih-stage .ih-compare thead th { color: #fff; border: 0; padding: 1rem 0.85rem; }
#ih-stage .ih-compare thead th:first-child { background: #1d1d1b; }
#ih-stage .ih-compare thead th:nth-child(2) { background: #00abaf; color: #1d1d1b; }
#ih-stage .ih-compare thead th:nth-child(3) { background: #de1e23; }
#ih-stage .ih-compare tbody th { text-transform: none; letter-spacing: 0; font-size: 0.95rem; font-weight: 650; }
#ih-stage .ih-compare td:nth-child(2) { background: rgba(0,171,175,0.08); }
#ih-stage .ih-compare td:nth-child(3) { background: rgba(222,30,35,0.06); }
.ih-stage .ih-motto { margin: 0; font-family: Fraunces, Georgia, serif; font-size: clamp(1.8rem, 3vw, 2.6rem); line-height: 1.15; letter-spacing: -0.03em; }
#ih-stage .ih-compare-join .ih-motto { margin: 0.85rem 0 1.25rem; max-width: none; color: #1d1d1b; font-size: clamp(1.15rem, 2vw, 1.45rem); }

.ih-intro { width: min(1100px, calc(100% - 2.5rem)); margin: 0 auto; padding: 3.2rem 0 2.2rem; }
.ih-intro h1 { max-width: 14ch; }
.ih-intro .ih-sub { margin: 0.85rem 0 0; font-size: clamp(1.25rem, 2vw, 1.55rem); font-weight: 650; letter-spacing: -0.02em; }
.ih-intro .ih-lead { margin: 0.85rem 0 0; max-width: 40rem; color: #24302e; }
.ih-brands { display: grid; }
.ih-brand { display: grid; min-height: 0; text-decoration: none; color: #1d1d1b; overflow: hidden; }
.ih-brand-imag { background: #fffdf8; }
.ih-brand-acad { background: #f4f8fb; }
.ih-brand-copy { display: flex; flex-direction: column; justify-content: center; gap: 0.85rem; padding: 2.4rem 1.6rem 1.2rem; }
.ih-brand-logo { width: auto; height: 46px; margin: 0; }
.ih-brand h2 { max-width: 16ch; line-height: 1.02; }
.ih-brand-imag h2 { color: #de1e23; }
.ih-brand-acad h2 { color: #008f89; }
.ih-brand p { margin: 0; max-width: 34rem; color: #24302e; }
.ih-brand-meta { font-size: 0.92rem !important; letter-spacing: 0.01em; color: #3a4542 !important; }
.ih-brand span { display: inline-flex; align-items: center; align-self: flex-start; min-height: 2.6rem; margin-top: 0.4rem; padding: 0.45rem 1rem; border: 1.5px solid currentColor; border-radius: 999px; font-weight: 650; }
.ih-brand-imag span { color: #de1e23; }
.ih-brand-acad span { color: #008f89; }
.ih-brand-art { width: 100%; height: 280px; object-fit: contain; background: transparent; }
.ih-brand:hover .ih-brand-art { transform: scale(1.03); }
.ih-brand-art { transition: transform .45s ease; }
@media (min-width: 900px) {
  .ih-brands { grid-template-columns: 1fr 1fr; }
  .ih-brand { grid-template-columns: 0.92fr 1.08fr; align-items: center; min-height: 620px; }
  .ih-brand-copy { padding: 2.8rem 1.4rem 2.8rem 2.4rem; }
  .ih-brand-art { height: 100%; min-height: 620px; padding: 1.25rem; }
}
section.ih-brand { align-items: stretch; }
#ih-stage section.ih-brand h1 { max-width: 12em; font-size: clamp(2.3rem, 3.6vw, 3.5rem); }
#ih-stage .ih-brand-acad h1 { color: #008f89; }
#ih-stage .ih-brand-imag h1 { color: #de1e23; }
.ih-pull { margin: 0.2rem 0 0; max-width: 18em; font-family: Fraunces, Georgia, serif; font-size: clamp(1.35rem, 2vw, 1.7rem); line-height: 1.25; color: #de1e23; }
.ih-path, .ih-fit, .ih-four { display: grid; gap: 0.75rem; margin: 1.35rem 0 0; padding: 0; list-style: none; }
.ih-path li, .ih-fit li { padding: 1rem 1rem 1.05rem; background: #fff; }
.ih-path li { background: #f4f8fb; font-weight: 700; }
.ih-path li span { display: block; margin-bottom: 0.35rem; color: #008f89; font-size: 0.75rem; letter-spacing: 0.14em; }
.ih-fit li { border-top: 3px solid #00abaf; }
.ih-pills { display: flex; flex-wrap: wrap; gap: 0.55rem; margin: 1.15rem 0 0; }
.ih-pills span { padding: 0.45rem 0.85rem; border-radius: 999px; border: 1.5px solid #de1e23; color: #de1e23; font-weight: 700; }
.ih-centres-line { display: flex; flex-wrap: wrap; gap: 0.75rem 1.5rem; margin: 0.4rem 0 0; }
.ih-centres-line span { font-family: Fraunces, Georgia, serif; font-size: clamp(1.6rem, 2.4vw, 2.2rem); letter-spacing: -0.03em; }
.ih-plain-band { padding: 4.2rem 0; }
.ih-plain-band.ih-teal { background: #00abaf; color: #1d1d1b; }
.ih-plain-band.ih-teal h2, .ih-plain-band.ih-teal p, .ih-plain-band.ih-rose h2, .ih-plain-band.ih-rose p { color: #1d1d1b; }
.ih-plain-band.ih-rose { background: #fff6f4; }
.ih-plain-band.ih-rose .ih-btn-ghost.ih-btn-solid,
.ih-btn-ghost.ih-btn-solid { background: #fff; color: #1d1d1b; border: 1px solid rgba(29,29,27,0.22); box-shadow: 0 6px 16px rgba(16,22,20,0.08); }
.ih-plain-band.ih-rose .ih-btn-ghost.ih-btn-solid:hover,
.ih-btn-ghost.ih-btn-solid:hover { border-color: #971038; color: #971038; }
#ih-stage .ih-plain-band.ih-teal .ih-btn { background: #1d1d1b; color: #fff; }
#ih-stage .ih-plain-band.ih-teal .ih-btn:hover { background: #000; }
@media (min-width: 800px) {
  .ih-path { grid-template-columns: repeat(4, 1fr); }
  .ih-fit, .ih-four { grid-template-columns: 1fr 1fr; }
}
.ih-orient { position: relative; min-height: calc(100svh - 3.5rem); display: flex; align-items: center; padding: 2rem 0 3rem; overflow: hidden; }
.ih-orient + .ih-centres { margin: 0; border-top: 0; }
.ih-orient-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 30%; }
.ih-orient::after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, rgba(8,18,17,0.88), rgba(8,18,17,0.55)); }
.ih-orient-panel { position: relative; z-index: 1; width: min(1080px, calc(100% - 2.5rem)); margin: 0 auto; }
.ih-orient .ih-kicker { color: #f0b334; }
.ih-orient h1, .ih-orient h2, .ih-orient .ih-lead { color: #fff; }
.ih-orient h2 { margin: 0; font-size: clamp(1.85rem, 4vw, 3rem); line-height: 1.12; }
.ih-orient .ih-lead { max-width: 36rem; margin-top: 0.75rem; }
.ih-orient .ih-progress { background: rgba(255,255,255,0.18); }
.ih-orient .ih-options { grid-template-columns: 1fr; }
.ih-orient .ih-option { display: flex; align-items: center; gap: 0.9rem; min-height: 4.2rem; padding: 0.55rem 1rem 0.55rem 0.55rem; border: 0; border-radius: 16px; background: #fff; box-shadow: 0 10px 28px rgba(8,12,11,0.16); text-align: left; }
.ih-orient .ih-option:hover { transform: translateY(-2px); background: #fff; }
.ih-orient .ih-option img { width: 72px; height: 72px; object-fit: cover; border-radius: 12px; flex: none; }
.ih-orient .ih-option span { font-weight: 650; }
.ih-orient .ih-option em { font-style: italic; font-weight: inherit; }
.ih-orient .ih-back { color: #f0b334; }
.ih-orient .ih-result { background: #fff; border-radius: 18px; }
.ih-orient .ih-result h2, .ih-orient .ih-result p { color: #1d1d1b; }
.ih-orient .ih-recap { display: grid; gap: 0.55rem; margin: 1.15rem 0 0; padding: 0; list-style: none; }
.ih-orient .ih-recap li { padding: 0.85rem 1rem; background: #f4f8fb; font-weight: 650; color: #1d1d1b; }
.ih-orient .ih-recap span { display: block; margin-bottom: 0.2rem; color: #008f89; font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 650; }
.ih-orient .ih-contact-fields { display: grid; gap: 0.75rem; margin-top: 1.25rem; }
.ih-orient .ih-contact-fields label { display: grid; gap: 0.35rem; }
.ih-orient .ih-contact-fields span { color: #008f89; font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 650; }
.ih-orient .ih-contact-fields input,
.ih-orient .ih-contact-fields textarea { width: 100%; box-sizing: border-box; min-height: 2.75rem; padding: 0.7rem 0.9rem; border: 1px solid rgba(29,29,27,0.22); border-radius: 12px; background: #fff; color: #1d1d1b; font: inherit; }
.ih-orient .ih-contact-fields textarea { min-height: 5.5rem; resize: vertical; }
.ih-orient .ih-contact-fields input:focus,
.ih-orient .ih-contact-fields textarea:focus { outline: 2px solid rgba(0,171,175,0.35); outline-offset: 1px; border-color: #00abaf; }
.ih-orient .ih-contact-fields .ih-contact-comment { grid-column: 1 / -1; }
@media (min-width: 700px) { .ih-orient .ih-contact-fields { grid-template-columns: 1fr 1fr 1fr; } }

.ih-orient-modal { display: flex; align-items: center; justify-content: center; padding: 1.25rem; background: rgba(8,18,17,0.72); }
.ih-orient-modal[hidden] { display: none !important; }
.ih-orient-modal .ih-modal-backdrop { background: transparent; }
.ih-orient-modal .ih-orient-panel { position: relative; z-index: 1; width: min(720px, 100%); max-height: min(92vh, 900px); overflow: auto; margin: 0; padding: 1.6rem 1.35rem 1.5rem; background: linear-gradient(100deg, rgba(8,18,17,0.96), rgba(8,18,17,0.9)); border-radius: 22px; box-shadow: 0 24px 60px rgba(0,0,0,0.35); }
.ih-orient-modal .ih-kicker { color: #f0b334; }
.ih-orient-modal h2, .ih-orient-modal .ih-lead { color: #fff; }
.ih-orient-modal .ih-lead { max-width: 36rem; margin-top: 0.55rem; }
.ih-orient-modal .ih-progress { background: rgba(255,255,255,0.18); margin: 1.15rem 0 1.25rem; }
.ih-orient-modal .ih-options { display: grid; gap: 0.75rem; grid-template-columns: 1fr; }
.ih-orient-modal .ih-option { display: flex; align-items: center; gap: 0.9rem; min-height: 4.2rem; padding: 0.55rem 1rem 0.55rem 0.55rem; border: 0; border-radius: 16px; background: #fff; box-shadow: 0 10px 28px rgba(8,12,11,0.16); text-align: left; cursor: pointer; font: inherit; color: #1d1d1b; }
.ih-orient-modal .ih-option:hover { transform: translateY(-2px); }
.ih-orient-modal .ih-option img { width: 72px; height: 72px; object-fit: cover; border-radius: 12px; flex: none; }
.ih-orient-modal .ih-option span { font-weight: 650; }
.ih-orient-modal .ih-back { color: #f0b334; margin-top: 1rem; background: none; border: 0; font: inherit; font-weight: 650; cursor: pointer; padding: 0; }
.ih-orient-modal .ih-result { background: #fff; border-radius: 18px; padding: 1.15rem 1.15rem 1.25rem; }
.ih-orient-modal .ih-result h2 { color: #1d1d1b; margin: 0; font-size: clamp(1.35rem, 2.4vw, 1.8rem); }
.ih-orient-modal .ih-recap { display: grid; gap: 0.55rem; margin: 1.15rem 0 0; padding: 0; list-style: none; }
.ih-orient-modal .ih-recap li { padding: 0.85rem 1rem; background: #f4f8fb; font-weight: 650; color: #1d1d1b; }
.ih-orient-modal .ih-recap span { display: block; margin-bottom: 0.2rem; color: #008f89; font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 650; }
.ih-orient-modal .ih-contact-fields { display: grid; gap: 0.75rem; margin-top: 1.25rem; }
.ih-orient-modal .ih-contact-fields label { display: grid; gap: 0.35rem; }
.ih-orient-modal .ih-contact-fields span { color: #008f89; font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 650; }
.ih-orient-modal .ih-contact-fields input,
.ih-orient-modal .ih-contact-fields textarea { width: 100%; box-sizing: border-box; min-height: 2.75rem; padding: 0.7rem 0.9rem; border: 1px solid rgba(29,29,27,0.22); border-radius: 12px; background: #fff; color: #1d1d1b; font: inherit; }
.ih-orient-modal .ih-contact-fields textarea { min-height: 5.5rem; resize: vertical; }
.ih-orient-modal .ih-contact-fields .ih-contact-comment { grid-column: 1 / -1; }
.ih-orient-modal .ih-orient-close { position: absolute; top: 0.85rem; right: 0.85rem; z-index: 2; width: 2.4rem; height: 2.4rem; border: 0; border-radius: 999px; background: rgba(255,255,255,0.12); color: #fff; font-size: 1.4rem; line-height: 1; cursor: pointer; }
.ih-orient-modal .ih-actions { margin-top: 1.15rem; }
.ih-orient-modal .ih-btn-ghost { background: #fff; color: #1d1d1b; border: 1px solid rgba(29,29,27,0.22); }
@media (min-width: 700px) {
  .ih-orient-modal .ih-options { grid-template-columns: 1fr 1fr; }
  .ih-orient-modal .ih-contact-fields { grid-template-columns: 1fr 1fr 1fr; }
  .ih-orient-modal .ih-orient-panel { padding: 1.85rem 1.75rem 1.7rem; }
}
.ih-funnel-opts { margin-top: 0.35rem; }
.ih-modal .ih-progress { height: 4px; margin: 0 0 1rem; background: rgba(29,29,27,0.08); border-radius: 999px; overflow: hidden; }
.ih-modal .ih-progress span { display: block; height: 100%; background: #00abaf; border-radius: 999px; transition: width 0.25s ease; }
.ih-modal .ih-options { display: grid; gap: 0.55rem; }
.ih-modal .ih-option { width: 100%; text-align: left; border: 1px solid rgba(29,29,27,0.16); background: #f4f8fb; border-radius: 12px; padding: 0.85rem 1rem; cursor: pointer; font: inherit; }
.ih-modal .ih-option:hover { border-color: #00abaf; background: #fff; }
.ih-modal .ih-option strong { display: block; font-weight: 700; color: #1d1d1b; }
.ih-modal .ih-option small { display: block; margin-top: 0.25rem; color: #3a4542; font-size: 0.88rem; font-weight: 500; line-height: 1.35; }
.ih-modal .ih-exam-pick { margin: 0 0 1rem; padding: 0.85rem 1rem; background: #f3fbfb; border-left: 4px solid #00abaf; border-radius: 0 10px 10px 0; }
.ih-modal .ih-exam-pick strong { display: block; font-size: 1.05rem; }
.ih-modal .ih-exam-pick span { display: block; margin-top: 0.25rem; color: #3a4542; font-size: 0.9rem; }
.ih-modal .ih-back { margin-top: 0.85rem; border: 0; background: transparent; color: #971038; font: inherit; font-weight: 650; cursor: pointer; padding: 0; }
.ih-modal { position: fixed; inset: 0; z-index: 90; display: grid; place-items: center; padding: 1rem; }
.ih-modal[hidden] { display: none !important; }
.ih-modal-backdrop { position: absolute; inset: 0; background: rgba(16,22,20,0.45); }
.ih-modal-panel { position: relative; z-index: 1; width: min(560px, 100%); max-height: min(90vh, 820px); overflow: auto; padding: 1.35rem 1.25rem 1.4rem; background: #fff; border-radius: 18px; box-shadow: 0 24px 60px rgba(16,22,20,0.22); }
.ih-modal-close { position: absolute; top: 0.65rem; right: 0.75rem; width: 2.25rem; height: 2.25rem; border: 0; border-radius: 999px; background: #f4f8fb; color: #1d1d1b; font-size: 1.35rem; line-height: 1; cursor: pointer; }
.ih-modal-panel .ih-kicker { margin: 0 0 0.35rem; }
.ih-modal-panel h2 { margin: 0; font-size: clamp(1.35rem, 2.4vw, 1.75rem); }
.ih-modal-panel > .ih-lead { margin: 0.55rem 0 1.1rem; }
.ih-prova-form { display: grid; gap: 0.75rem; }
@media (min-width: 640px) { .ih-prova-form { grid-template-columns: 1fr 1fr; } .ih-prova-full { grid-column: 1 / -1; } }
.ih-prova-form label { display: grid; gap: 0.3rem; }
.ih-prova-form span { color: #008f89; font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 650; }
.ih-prova-form input,
.ih-prova-form select,
.ih-prova-form textarea { width: 100%; box-sizing: border-box; min-height: 2.7rem; padding: 0.65rem 0.85rem; border: 1px solid rgba(29,29,27,0.22); border-radius: 12px; background: #fff; color: #1d1d1b; font: inherit; }
.ih-prova-form textarea { min-height: 5rem; resize: vertical; }
.ih-prova-form input:focus,
.ih-prova-form select:focus,
.ih-prova-form textarea:focus { outline: 2px solid rgba(0,171,175,0.35); outline-offset: 1px; border-color: #00abaf; }
.ih-prova-form .ih-actions { margin-top: 0.35rem; }
.ih-prova-form .ih-btn,
.ih-prova-form .ih-btn-ghost { cursor: pointer; border: 0; }
.ih-prova-form .ih-btn-ghost { border: 1px solid rgba(29,29,27,0.28); background: transparent; }
.ih-float { position: fixed; right: 1rem; bottom: 1rem; z-index: 80; display: grid; gap: 0.65rem; }
.ih-float-item { position: relative; display: grid; justify-items: end; }
.ih-float-btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem; min-height: 3rem; padding: 0 1.05rem; border: 0; border-radius: 999px; color: #fff; font: inherit; font-size: 0.72rem; font-weight: 650; letter-spacing: 0.16em; text-transform: uppercase; cursor: pointer; box-shadow: 0 12px 28px rgba(16,22,20,0.18); }
.ih-float-btn svg { display: block; flex: none; }
.ih-float-chat { background: #2A2B31; }
.ih-float-contact { background: #00abaf; box-shadow: 0 12px 28px rgba(0,171,175,0.28); }
.ih-float-btn:hover { transform: scale(1.03); }
.ih-float-panel { position: absolute; right: 0; bottom: calc(100% + 0.55rem); display: grid; gap: 0.35rem; min-width: 10.5rem; padding: 0.55rem; background: #fff; border-radius: 14px; box-shadow: 0 14px 34px rgba(16,22,20,0.16); }
.ih-float-panel[hidden] { display: none !important; }
.ih-float-panel a { display: block; padding: 0.55rem 0.75rem; border-radius: 10px; color: #1d1d1b; text-decoration: none; font-size: 0.9rem; font-weight: 600; }
.ih-float-panel a:hover { background: #f4f8fb; }
@media (min-width: 800px) { .ih-orient .ih-options { grid-template-columns: 1fr 1fr; } }
.ih-prog-band { background: linear-gradient(180deg, #fffaf3 0%, #fff 100%); }
.ih-progs { display: grid; gap: 1.35rem; margin-top: 2.2rem; }
.ih-prog {
  --line: #efb08a;
  --pill: #9b62c9;
  --tick: #e4572e;
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 2.5rem 1.35rem 1.3rem;
  border: 2.5px solid var(--line);
  border-radius: 28px;
  background: #fff;
  color: #1d1d1b;
  text-decoration: none;
  box-shadow: 0 18px 40px rgba(60, 36, 16, 0.06);
  transition: transform .25s ease, box-shadow .25s ease;
}
.ih-prog:hover { transform: translateY(-6px); box-shadow: 0 24px 50px rgba(60, 36, 16, 0.12); }
.ih-prog-age {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 0.42rem 0.95rem;
  border-radius: 999px;
  background: var(--pill);
  color: #fff;
  font-size: 0.84rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
.ih-prog-word {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.15rem;
  margin: 0.15rem 0 0.75rem;
  font-family: Fraunces, Georgia, serif;
  font-size: clamp(2.7rem, 4vw, 3.5rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 0.9;
  text-align: center;
}
.ih-prog-colors .ih-prog-word i { font-style: normal; }
.ih-prog-colors .ih-prog-word i:nth-child(1) { color: #e23b3b; }
.ih-prog-colors .ih-prog-word i:nth-child(2) { color: #f08a24; }
.ih-prog-colors .ih-prog-word i:nth-child(3) { color: #e2b000; }
.ih-prog-colors .ih-prog-word i:nth-child(4) { color: #2f9e62; }
.ih-prog-colors .ih-prog-word i:nth-child(5) { color: #3d7dff; }
.ih-prog-colors .ih-prog-word i:nth-child(6) { color: #9b62c9; }
.ih-prog-makers { --line: #7dce82; --tick: #2f9e62; }
.ih-prog-makers .ih-prog-word { color: #243e8f; font-style: italic; letter-spacing: -0.045em; }
.ih-prog-lab { --line: #b7a4e4; --tick: #7a52c4; }
.ih-prog-lab .ih-prog-word { gap: 0.45rem; color: #1d1d1b; letter-spacing: 0.12em; font-style: normal; text-transform: uppercase; }
.ih-cam { width: 2.35rem; height: 1.75rem; flex: none; }
.ih-prog-title { margin: 0 auto 0.45rem; max-width: 16rem; text-align: center; font-weight: 700; color: #1d1d1b; }
.ih-prog p { margin: 0 auto 0.95rem; max-width: 24rem; text-align: left; color: #3a4542; }
.ih-prog .ih-ticks { align-self: center; width: min(100%, 17.5rem); margin: 0; }
.ih-prog .ih-ticks li { padding-left: 1.25rem; }
.ih-prog .ih-ticks li::before {
  content: "✓";
  top: 0.02rem;
  width: auto;
  height: auto;
  border-radius: 0;
  background: none;
  color: var(--tick);
  font-weight: 800;
}
.ih-prog-scene { display: block; height: 188px; margin-top: auto; }
.ih-prog-scene svg { width: 100%; height: 100%; display: block; }
.ih-prog-cta {
  align-self: center;
  min-width: 11.5rem;
  margin-top: 0.35rem;
  padding: 0.72rem 1.15rem;
  border-radius: 12px;
  background: #f0b334;
  color: #1d1d1b;
  font-weight: 750;
  text-align: center;
}
.ih-prog:hover .ih-prog-cta { background: #d9a044; }
@media (min-width: 980px) {
  .ih-progs { grid-template-columns: repeat(3, 1fr); align-items: stretch; }
  .ih-prog { min-height: 620px; }
}
@media (prefers-reduced-motion: reduce) { .ih-brand-art, .ih-prog { transition: none; } }
@media (prefers-reduced-motion: reduce) { .ih-panel img { transition: none; } }

#ih-stage { background: #fff; color: #1d1d1b; }
#ih-stage section[id] { scroll-margin-top: 4.75rem; }
#ih-stage .ih-hero h1 { max-width: 14ch; }
#ih-stage .ih-hero .ih-sub { margin: 0.85rem 0 0; font-size: clamp(1.2rem, 2vw, 1.55rem); font-weight: 650; letter-spacing: -0.02em; }
#ih-stage .ih-hero .ih-lead { max-width: 38rem; }
#ih-home .ih-btn,
#ih-stage .ih-btn { color: #fff; }
#ih-home .ih-btn-ghost,
#ih-stage .ih-btn-ghost { color: #1d1d1b; }
#ih-home .ih-hero .ih-btn-ghost,
#ih-stage .ih-hero .ih-btn-ghost { background: #fff; color: #1d1d1b; border-color: #fff; }
#ih-home .ih-hero .ih-btn-ghost:hover,
#ih-stage .ih-hero .ih-btn-ghost:hover { background: #f4f8fb; border-color: #f4f8fb; color: #1d1d1b; }
#ih-home .ih-help .ih-btn-ghost,
#ih-stage .ih-help .ih-btn-ghost { color: #fff; border-color: rgba(255,255,255,0.75); background: transparent; }
#ih-stage .ih-plain-band .ih-sub { margin: 0 0 0.7rem; font-size: clamp(1.2rem, 2vw, 1.45rem); font-weight: 650; letter-spacing: -0.02em; }
#ih-stage .ih-goals { display: grid; gap: 0.75rem; margin-top: 1.35rem; }
#ih-stage .ih-goal { display: flex; flex-direction: column; gap: 0.55rem; min-height: 100%; padding: 0 0 1.25rem; overflow: hidden; background: #fff; border: 0; border-top: 4px solid #f0b334; color: #1d1d1b; text-decoration: none; text-align: left; font: inherit; cursor: pointer; box-shadow: 0 12px 30px rgba(16,22,20,0.06); }
#ih-stage .ih-goal img { width: 100%; height: 168px; max-width: none; object-fit: cover; object-position: center center; display: block; }
#ih-stage .ih-goal:nth-child(2),
#ih-stage .ih-goal:nth-child(5) { border-top-color: #00abaf; }
#ih-stage .ih-goal:nth-child(3),
#ih-stage .ih-goal:nth-child(6) { border-top-color: #971038; }
#ih-stage .ih-goal h3 { margin: 0; padding: 1.05rem 1.25rem 0; font-family: Fraunces, Georgia, serif; font-size: clamp(1.35rem, 2vw, 1.75rem); font-weight: 560; letter-spacing: -0.03em; line-height: 1.15; }
#ih-stage .ih-goal p { margin: 0; padding: 0 1.25rem; color: #3a4542; }
#ih-stage .ih-goal span { margin: auto 1.25rem 0; color: #8a6410; font-weight: 700; }
#ih-stage .ih-goal:hover { transform: translateY(-3px); }
#ih-stage .ih-lang-band { background: #1d1d1b; color: #fff; }
#ih-stage .ih-lang-band h2 { color: #fff; }
#ih-stage .ih-lang-list { display: flex; flex-wrap: wrap; gap: 0.35rem 0.15rem; margin: 1.15rem 0 0; padding: 0; list-style: none; align-items: baseline; }
#ih-stage .ih-lang-list li { font-family: Fraunces, Georgia, serif; font-size: clamp(1.7rem, 3.2vw, 2.6rem); font-weight: 560; letter-spacing: -0.03em; line-height: 1.15; }
#ih-stage .ih-lang-list li:not(:last-child)::after { content: "·"; margin-left: 0.4rem; color: #00abaf; }
#ih-stage .ih-ways { display: grid; gap: 0.75rem; margin-top: 1.4rem; }
#ih-stage .ih-way { background: #fff; color: #1d1d1b; overflow: hidden; box-shadow: 0 12px 30px rgba(16,22,20,0.06); }
#ih-stage .ih-way img { width: 100%; height: 220px; object-fit: cover; display: block; }
#ih-stage .ih-way div { padding: 1.2rem 1.15rem 1.4rem; }
#ih-stage .ih-way h3 { margin: 0 0 0.4rem; font-family: Fraunces, Georgia, serif; font-size: 1.55rem; font-weight: 560; letter-spacing: -0.03em; }
#ih-stage .ih-way p { margin: 0; color: #3a4542; }
#ih-stage .ih-products-band { background: #eef2f1; }
#ih-stage .ih-products { display: flex; flex-wrap: wrap; gap: 0.55rem; margin: 1.15rem 0 0; padding: 0; list-style: none; }
#ih-stage .ih-products li { padding: 0.75rem 0.95rem; background: #fff; border-top: 3px solid #00abaf; font-weight: 700; cursor: pointer; }
#ih-stage .ih-products li.is-active,
#ih-stage .ih-products li[aria-selected="true"] { border-top-color: #971038; box-shadow: 0 8px 18px rgba(16,22,20,0.08); }
#ih-stage .ih-products li:hover { background: #f8fbfb; }
#ih-stage .ih-products-band .ih-lead { max-width: 40rem; margin-top: 1.15rem; }
.ih-plain-band.ih-wine { background: #971038; color: #fff; }
#ih-stage .ih-plain-band.ih-wine h2,
#ih-stage .ih-plain-band.ih-wine .ih-sub,
#ih-stage .ih-plain-band.ih-wine .ih-lead { color: #fff; }
#ih-stage .ih-plain-band.ih-wine .ih-lead { color: rgba(255,255,255,0.92); }
#ih-stage .ih-plain-band.ih-wine .ih-btn { background: #f0b334; color: #1d1d1b; }
#ih-stage .ih-plain-band.ih-wine .ih-btn:hover { background: #d9a044; color: #1d1d1b; }
#ih-stage .ih-plain-band.ih-wine .ih-btn-ghost { color: #fff; border-color: rgba(255,255,255,0.75); }
#ih-stage .ih-plain-band.ih-wine .ih-btn-ghost:hover { color: #fff; border-color: #fff; }
#ih-stage .ih-lang-band .ih-lead { color: rgba(255,255,255,0.92); max-width: 40rem; }
#ih-stage #encaixa .ih-sub { margin: 0.35rem 0 0.7rem; font-size: clamp(1.2rem, 2vw, 1.45rem); font-weight: 650; letter-spacing: -0.02em; }
#ih-stage #programes .ih-lead { max-width: 42rem; margin-top: 1.35rem; }
#ih-stage #funciona .ih-path li { background: #fff; }
#ih-stage #funciona .ih-path li p { margin: 0.45rem 0 0; font-weight: 450; color: #3a4542; }
#ih-stage .ih-official { margin-top: 1.4rem; padding: 1.15rem 1.2rem; background: #fff; color: #1d1d1b; }
#ih-stage .ih-official h3 { font-family: Fraunces, Georgia, serif; font-size: 1.35rem; font-weight: 560; }
#ih-stage .ih-official p { margin: 0.45rem 0 0; color: #24302e; }
#ih-stage #parlar .ih-sub { margin: 0 0 0.7rem; font-size: clamp(1.2rem, 2vw, 1.45rem); font-weight: 650; letter-spacing: -0.02em; }
#ih-stage #parlar .ih-lead { max-width: 40rem; }
#ih-stage .ih-plans-band { background: #eef2f1; }
#ih-stage .ih-plans { display: grid; gap: 0.85rem; margin-top: 1.4rem; }
#ih-stage .ih-plan { display: flex; flex-direction: column; gap: 0.75rem; padding: 1.35rem 1.15rem 1.25rem; background: #fff; border-top: 4px solid #f0b334; box-shadow: 0 12px 30px rgba(16,22,20,0.06); }
#ih-stage .ih-plan-teal { border-top-color: #00abaf; }
#ih-stage .ih-plan-gold { border-top-color: #f0b334; }
#ih-stage .ih-plan-wine { border-top-color: #971038; }
#ih-stage .ih-plan .ih-kicker { margin: 0; }
#ih-stage .ih-plan-teal .ih-kicker { color: #00abaf; }
#ih-stage .ih-plan-gold .ih-kicker { color: #8a6410; }
#ih-stage .ih-plan-wine .ih-kicker { color: #971038; }
#ih-stage .ih-plan h3 { font-family: Fraunces, Georgia, serif; font-size: clamp(1.35rem, 2vw, 1.7rem); font-weight: 560; letter-spacing: -0.03em; line-height: 1.15; }
#ih-stage .ih-plan > p { margin: 0; color: #3a4542; }
#ih-stage .ih-plan .ih-btn { margin-top: auto; align-self: flex-start; }
#ih-stage .ih-biz thead th:nth-child(2) { background: #f0b334; color: #1d1d1b; }
#ih-stage .ih-biz thead th:nth-child(3) { background: #00abaf; color: #1d1d1b; }
#ih-stage .ih-biz thead th:nth-child(4) { background: #971038; color: #fff; }
#ih-stage .ih-biz td { text-align: center; font-weight: 700; font-size: 1.05rem; }
#ih-stage .ih-biz td:nth-child(2) { background: rgba(240,179,52,0.18); }
#ih-stage .ih-biz td:nth-child(3) { background: rgba(0,171,175,0.1); }
#ih-stage .ih-biz td:nth-child(4) { background: rgba(151,16,56,0.08); }
#ih-stage #com .ih-path li p,
#ih-stage #acompanyament .ih-path li p { margin: 0.45rem 0 0; font-weight: 450; color: #3a4542; }
#ih-stage #moduls a { color: #008f89; font-weight: 700; text-decoration: none; }
#ih-stage #moduls a:hover { text-decoration: underline; }
#ih-stage #moduls a.ih-btn { color: #fff; }
#ih-stage #moduls a.ih-btn:hover { color: #fff; text-decoration: none; background: #008f89; }
@media (min-width: 800px) { #ih-stage #com .ih-path, #ih-stage #acompanyament .ih-path, #ih-stage #funciona .ih-path { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1100px) { #ih-stage #funciona .ih-path { grid-template-columns: repeat(5, 1fr); } }
@media (min-width: 1000px) { #ih-stage #acompanyament .ih-path { grid-template-columns: 1fr 1fr 1fr; } }
@media (min-width: 1000px) { #ih-stage .ih-plans { grid-template-columns: 1fr 1fr 1fr; align-items: stretch; } }
#ih-stage #encaixa.ih-orient { min-height: calc(100svh - 3.5rem); margin: 0; padding: 2.5rem 0 3rem; background: #081211; }
#ih-stage #encaixa .ih-orient-bg { object-position: center 35%; }
#ih-stage #encaixa .ih-progress { height: 3px; margin: 1.25rem 0 1.35rem; }
#ih-stage #encaixa .ih-options { margin-top: 0.35rem; }
#ih-stage #encaixa .ih-result { margin-top: 0.25rem; padding: 1.2rem 1.15rem 1.3rem; }
#ih-stage #encaixa .ih-textlink { display: inline-block; margin-top: 0.85rem; color: #008f89; font-weight: 650; }
#ih-stage #encaixa .ih-actions { margin-top: 1.1rem; }
@media (min-width: 800px) { #ih-stage #encaixa .ih-options { grid-template-columns: 1fr 1fr; } }
@media (min-width: 800px) {
  #ih-stage .ih-plans.ih-plans-2 { grid-template-columns: 1fr 1fr; }
  #ih-stage #on-arribar .ih-goals { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1100px) {
  #ih-stage #on-arribar .ih-goals { grid-template-columns: 1fr 1fr 1fr; }
}
@media (min-width: 1100px) { #ih-stage #com .ih-path { grid-template-columns: repeat(4, 1fr); } }
#ih-stage .ih-speak { display: grid; background: #fff; }
#ih-stage .ih-speak-copy { width: min(1200px, calc(100% - 2.5rem)); margin: 0 auto; padding: 4.2rem 0; }
#ih-stage .ih-speak .ih-sub { margin: 0 0 0.7rem; font-size: clamp(1.2rem, 2vw, 1.45rem); font-weight: 650; letter-spacing: -0.02em; }
#ih-stage .ih-speak .ih-lead { max-width: 38rem; }
#ih-stage .ih-pills-teal span { border-color: #00abaf; color: #008f89; }
#ih-stage .ih-speak-photo { position: relative; min-height: 420px; overflow: hidden; }
#ih-stage .ih-speak-photo img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; display: block; }
@media (min-width: 800px) { #ih-stage .ih-goals { grid-template-columns: 1fr 1fr; } }
@media (min-width: 900px) {
  #ih-stage .ih-ways { grid-template-columns: 1fr 1fr 1fr; }
  #ih-stage .ih-speak { grid-template-columns: 1.05fr 0.95fr; align-items: stretch; }
  #ih-stage .ih-speak-copy { width: auto; margin: 0; padding: 4.2rem 3rem 4.2rem 6vw; display: flex; flex-direction: column; justify-content: center; }
  #ih-stage .ih-speak-photo { min-height: 100%; }
}
@media (prefers-reduced-motion: reduce) { #ih-stage .ih-goal { transition: none; } }

