/* Review-only alternative. Loaded exclusively by homepage-warm.html. */
body.icb-home.icb-warm {
 /* Brand yellow sampled from the original ICB logo; accents use its tints and shades. */
 --warm-brand:#f9b700;--home-yellow:var(--warm-brand);--warm-surface:#f6f4ec;--warm-audience:var(--warm-surface);--warm-frame:var(--warm-brand);
 --warm-card:#fffefa;--warm-ink:#25241f;--warm-muted:#57564f;
 --warm-line:#b18100;--warm-graphite:#34332f;
 --warm-gold:color-mix(in srgb,var(--warm-brand) 62%,white);
 --warm-gold-hover:color-mix(in srgb,var(--warm-brand) 78%,white);
 --warm-button-line:#b18100;
}
body.icb-home.icb-warm .home-audience {
 background:var(--warm-audience);border-block:0;position:relative;color:var(--warm-ink);text-align:left;padding-block:64px;
}
/* Hand-drawn gold edges, matching the inner pages (approved 28 Oct 2026; backup work/backups/homepage-warm-before-hand-drawn-edges.css). */
body.icb-home.icb-warm .home-audience::before,body.icb-home.icb-warm .home-audience::after {content:'';position:absolute;z-index:1;left:0;right:0;height:10px;pointer-events:none;background:no-repeat center/100% 100%}
body.icb-home.icb-warm .home-audience::before {top:-5px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 10' preserveAspectRatio='none'%3E%3Cpath d='M0 6C150 3.2 300 7 450 5.2S750 2.6 900 5.4S1100 7 1200 4.2' fill='none' stroke='%23f9b700' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E")}
body.icb-home.icb-warm .home-audience::after {bottom:-5px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 10' preserveAspectRatio='none'%3E%3Cpath d='M0 4.5C200 6.8 380 3 600 4.8S980 7.2 1200 5' fill='none' stroke='%23f9b700' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E")}
body.icb-home.icb-warm .home-audience h2 {max-width:800px;margin:0;text-wrap:balance}
body.icb-home.icb-warm .home-audience-options {grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:36px}
body.icb-home.icb-warm .home-audience-card {
 display:flex;flex-direction:column;align-items:flex-start;min-width:0;min-height:236px;gap:16px;
 padding:28px;border:1px solid var(--warm-line);border-radius:6px;
 background:var(--warm-card);color:var(--warm-ink);text-decoration:none;
}
body.icb-home.icb-warm .home-audience-card:hover {background:#fffdf5;border-color:var(--warm-button-line);color:var(--warm-ink)}
body.icb-home.icb-warm .home-audience-card h3 {
 margin:0;font:600 22px/1.4 Poppins,sans-serif;letter-spacing:-.015em;color:inherit;text-transform:none;
}
body.icb-home.icb-warm .home-audience-card p {font:400 18px/1.6 'Nunito Home',Nunito,sans-serif;color:var(--warm-muted);margin:0}
body.icb-home.icb-warm .home-audience-route {
 display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;margin-top:auto;padding-top:12px;
 font:700 16px/1.5 'Nunito Home',Nunito,sans-serif;
}
body.icb-home.icb-warm .home-action-arrow {display:block;flex:none;width:20px;height:20px}
body.icb-home.icb-warm .home-button {
 gap:14px;border-radius:6px;background:var(--warm-graphite);color:var(--warm-card);border-color:var(--warm-graphite);
}
body.icb-home.icb-warm .home-button:is(:hover,:focus-visible) {background:var(--warm-ink);color:var(--warm-card);border-color:var(--warm-button-line)}
body.icb-home.icb-warm .home-button .home-action-arrow {color:var(--warm-brand)}
body.icb-home.icb-warm .home-button-secondary {
 background:transparent;color:var(--warm-ink);border:0;border-bottom:1px solid var(--warm-button-line);border-radius:0;
 min-height:48px;padding:10px 0;
}
body.icb-home.icb-warm .home-button-secondary:hover {background:transparent;color:var(--warm-ink);border-color:var(--warm-brand)}
body.icb-home.icb-warm .home-button-secondary:focus-visible {background:transparent;color:var(--warm-ink)}
body.icb-home.icb-warm .home-button-secondary .home-action-arrow {color:currentColor}
body.icb-home.icb-warm .home-hero .home-button {background:var(--warm-card);color:var(--warm-ink);border:1px solid var(--warm-brand)}
body.icb-home.icb-warm .home-hero .home-button:is(:hover,:focus-visible) {background:var(--warm-card);color:var(--warm-ink);border-color:var(--warm-brand)}
body.icb-home.icb-warm .home-hero a:focus-visible {outline-color:var(--warm-brand)}
/* Approved hero option C: ivory label and a separate graphite arrow panel. */
body.icb-home.icb-warm .home-hero .home-hero-action {
 min-height:56px;padding:0;gap:0;align-items:stretch;border:1px solid var(--warm-graphite);border-radius:6px;
 background:var(--warm-card);color:var(--warm-ink);box-shadow:0 5px 16px rgb(16 18 28 / .14);
}
body.icb-home.icb-warm .home-hero .home-hero-action:is(:hover,:focus-visible,:active) {
 background:var(--warm-surface);color:var(--warm-ink);border-color:var(--warm-graphite);
}
body.icb-home.icb-warm .home-hero-action .home-button-label {display:flex;align-items:center;padding:14px 24px}
body.icb-home.icb-warm .home-hero-arrow-panel {
 position:relative;z-index:1;display:grid;place-items:center;flex:none;align-self:stretch;
 width:54px;background:var(--warm-graphite);border-left:1px solid var(--warm-graphite);
}
body.icb-home.icb-warm .home-hero-action:is(:hover,:focus-visible) .home-hero-arrow-panel {background:var(--warm-ink)}
@media(max-width:767px) {
 body.icb-home.icb-warm .home-hero-action .home-button-label {padding:14px 20px}
 body.icb-home.icb-warm .home-hero-arrow-panel {width:48px}
}
@media(max-width:359px) {
 body.icb-home.icb-warm .home-hero .home-hero-action {font-size:15px}
 body.icb-home.icb-warm .home-hero-action .home-button-label {padding-inline:16px}
 body.icb-home.icb-warm .home-hero-arrow-panel {width:44px}
}
body.icb-home.icb-warm .home-quote {border-top-color:var(--warm-brand)}
body.icb-home.icb-warm #header .header-actions-action--cta a,
body.icb-home.icb-warm #header .header-menu-cta a {
 border:1px solid var(--warm-graphite);border-radius:6px;background:var(--warm-graphite);color:var(--warm-card);
}
body.icb-home.icb-warm #header .header-actions-action--cta a:is(:hover,:focus-visible),
body.icb-home.icb-warm #header .header-menu-cta a:is(:hover,:focus-visible) {background:var(--warm-ink);color:var(--warm-card);border-color:var(--warm-ink)}
@media(max-width:899.98px) {
 body.icb-home.icb-warm .home-audience-options {grid-template-columns:1fr;grid-auto-rows:1fr;max-width:none;gap:12px}
 body.icb-home.icb-warm .home-audience-card {
  display:grid;grid-template-columns:minmax(0,1fr) 20px;align-items:center;gap:8px 20px;min-height:0;padding:22px 24px;
 }
 body.icb-home.icb-warm .home-audience-card h3 {grid-column:1;font-size:20px}
 body.icb-home.icb-warm .home-audience-card p {grid-column:1;font-size:17px;line-height:1.6}
 body.icb-home.icb-warm .home-audience-route {grid-column:2;grid-row:1/3;margin:0;padding:0}
 body.icb-home.icb-warm .home-audience-route>span {display:none}
}
@media(max-width:767px) {
 body.icb-home.icb-warm .home-audience {padding-block:48px}
 body.icb-home.icb-warm .home-audience-options {margin-top:28px}
 body.icb-home.icb-warm .home-audience-card {padding:20px;column-gap:14px}
 body.icb-home.icb-warm .home-button {column-gap:12px}
}
@media(max-width:359px) {
 body.icb-home.icb-warm .home-audience-card {padding:18px;column-gap:12px}
 body.icb-home.icb-warm .home-audience-card h3 {font-size:19px}
 body.icb-home.icb-warm .home-button {padding-inline:16px}
 body.icb-home.icb-warm .home-button-secondary {padding-inline:0}
}

/* On phones, a quiet rule separates each story from its photograph.
   Keep 56px from action to photo and 56px from photo to the next heading. */
@media(max-width:767px) {
 body.icb-home.icb-warm :is(.home-risk,.home-housing,.home-support) .home-copy {
  padding-bottom:28px;border-bottom:1px solid var(--home-line);
 }
 body.icb-home.icb-warm :is(.home-risk,.home-housing,.home-support) .home-split {row-gap:28px}
 body.icb-home.icb-warm :is(.home-risk,.home-housing) {padding-bottom:24px}
 body.icb-home.icb-warm :is(.home-visas,.home-other) {padding-top:32px}
}

/* Membership marks: 20% larger, with proportional fitting on narrow phones. */
body.icb-home.icb-warm .home-membership-row img {width:288px;height:81.6px}
body.icb-home.icb-warm .home-membership-row img:last-child {width:220.8px}
@media(max-width:767px) {
 body.icb-home.icb-warm .home-membership-row {gap:20px 8px}
 body.icb-home.icb-warm .home-membership-row img {width:192px;height:60px;max-width:calc(54.8% - 4px)}
 body.icb-home.icb-warm .home-membership-row img:last-child {width:158.4px;max-width:calc(45.2% - 4px)}
}

/* Footer: one type family, two copy weights and a compact, aligned utility row. */
body.icb-home.icb-warm #footer-sections {
 padding-top:48px;background:var(--home-paper);color:var(--warm-ink);border-top:1px solid var(--home-line);
 font:400 16px/1.6 'Nunito Home',Nunito,sans-serif;
}
body.icb-home.icb-warm .home-footer-main {
 grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) 108px;gap:48px;align-items:start;
}
body.icb-home.icb-warm .home-footer-contact h2 {
 font:600 22px/1.4 'Nunito Home',Nunito,sans-serif;letter-spacing:-.015em;margin:0 0 16px;
}
body.icb-home.icb-warm .home-footer-contact>a {
 font:400 16px/1.6 'Nunito Home',Nunito,sans-serif;min-height:32px;margin:0;
 text-decoration:underline;text-underline-offset:4px;color:var(--warm-ink);
}
body.icb-home.icb-warm .home-footer-contact>a:hover {text-decoration:underline;text-underline-offset:4px}
body.icb-home.icb-warm :is(.home-footer-address h3,.home-footer-label) {
 font:600 14px/1.6 'Nunito Home',Nunito,sans-serif;letter-spacing:0;color:var(--warm-ink);margin:0 0 12px;
}
body.icb-home.icb-warm .home-footer-address p {
 font:400 16px/1.6 'Nunito Home',Nunito,sans-serif;color:var(--warm-muted);margin:0;
}
body.icb-home.icb-warm .home-footer-logo {justify-self:end;align-self:start;margin:0}
body.icb-home.icb-warm .home-footer-logo img {width:108px;height:118.8px;object-fit:contain}
body.icb-home.icb-warm .home-footer-utility {
 display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:32px;
 margin-top:32px;padding-block:24px;border-top:1px solid var(--home-line);
}
body.icb-home.icb-warm .home-footer-payments {min-width:0;margin:0;padding:0;border:0}
body.icb-home.icb-warm .home-footer-payments .icb-payment-methods {padding:0}
/* Translated "bank transfer" labels are longer: that chip's column grows instead of breaking the word. */
html:not([lang^="en"]) body.icb-home.icb-warm .icb-payment-methods .icb-payment-transfer span {max-width:none}
html:not([lang^="en"]) body.icb-home.icb-warm .icb-payment-methods ul {grid-template-columns:repeat(5,minmax(0,76px)) auto}
@media(max-width:767px) {html:not([lang^="en"]) body.icb-home.icb-warm .icb-payment-methods ul {grid-template-columns:repeat(2,minmax(0,76px)) auto}}
@media(max-width:359px) {html:not([lang^="en"]) body.icb-home.icb-warm .icb-payment-methods ul {grid-template-columns:minmax(0,76px) auto}}
body.icb-home.icb-warm .icb-payment-methods ul {
 grid-template-columns:repeat(6,minmax(0,76px));justify-content:start;gap:10px;width:100%;margin:0;
}
body.icb-home.icb-warm .icb-payment-methods li {
 height:40px;padding:6px;border-radius:4px;font:600 10px/1.2 'Nunito Home',Nunito,sans-serif;
}
body.icb-home.icb-warm .icb-payment-cash {background:var(--warm-brand);color:var(--warm-ink)}
body.icb-home.icb-warm .icb-payment-transfer {background:var(--warm-graphite)}
body.icb-home.icb-warm .home-footer-links {display:flex;align-items:center;justify-content:flex-end;gap:24px;min-width:0}
body.icb-home.icb-warm .home-footer-links>a,
body.icb-home.icb-warm .home-footer-links .icb-cookie-settings-link {
 display:inline-flex;align-items:center;min-height:44px;padding:0;margin:0;border:0;background:transparent;
 font:400 14px/1.6 'Nunito Home',Nunito,sans-serif;color:var(--warm-ink);
 text-decoration:underline;text-decoration-color:#b1aa98;text-underline-offset:4px;white-space:nowrap;
}
body.icb-home.icb-warm .home-footer-links :is(a,button):hover {text-decoration-color:var(--warm-ink)}
body.icb-home.icb-warm .home-footer-links .icb-cookie-footer {width:auto;max-width:none;margin:0;padding:0;text-align:inherit}
body.icb-home.icb-warm #footer-sections :is(a,button):focus-visible {outline:2px solid #0067a5;outline-offset:5px;border-radius:3px}
body.icb-home.icb-warm .home-footer-legal {display:block;padding:0 0 32px}
body.icb-home.icb-warm .home-footer-legal p {
 max-width:100%;font:400 13px/1.7 'Nunito Home',Nunito,sans-serif;color:var(--warm-muted);margin:0;
}
@media(max-width:1100px) {
 body.icb-home.icb-warm .home-footer-main {grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
}
@media(max-width:1000px) {
 body.icb-home.icb-warm .home-footer-utility {grid-template-columns:1fr;gap:16px}
 body.icb-home.icb-warm .home-footer-links {justify-content:flex-start}
}
@media(max-width:767px) {
 body.icb-home.icb-warm #footer-sections {padding-top:36px}
 body.icb-home.icb-warm .home-footer-main {grid-template-columns:1fr;gap:28px}
 body.icb-home.icb-warm .home-footer-contact h2 {font-size:22px}
 body.icb-home.icb-warm .home-footer-contact>a {min-height:44px;display:flex;align-items:center}
 body.icb-home.icb-warm .home-footer-utility {margin-top:28px;padding-block:24px 16px;gap:20px}
 body.icb-home.icb-warm .icb-payment-methods ul {grid-template-columns:repeat(3,minmax(0,76px));gap:10px}
 body.icb-home.icb-warm .home-footer-links {gap:20px;flex-wrap:wrap}
 body.icb-home.icb-warm .home-footer-legal {padding-bottom:28px}
}

/* The live site's broad, centred composition, with an explicit logo buffer.
   Keep navigation readable without overflowing toward the middle column. */
body.icb-home.icb-warm #header .header-inner {
 max-width:none;padding:32px clamp(24px,3vw,72px) !important;
}
/* Keep the keyboard skip link available without adding an invisible text row. */
body.icb-home.icb-warm #header .header-skip-link {position:absolute !important}
body.icb-home.icb-warm #header .header-title-logo img {
 height:153px !important;max-height:153px !important;
}
body.icb-home.icb-warm #header .header-title-logo,
body.icb-home.icb-warm #header .header-title-logo a {
 height:auto !important;max-height:none !important;
}
body.icb-home.icb-warm #header .header-nav-item,
body.icb-home.icb-warm #header .language-picker-desktop {
 font-size:clamp(18px,1.1vw,19.2px) !important;
}
body.icb-home.icb-warm #header .header-nav-list {gap:clamp(12px,calc(4vw - 36px),36px)}
/* Spanish and Russian menu labels are longer: a smaller menu size keeps them clear of the logo (30 Oct 2026). */
@media (min-width:1200px) and (max-width:1439.98px) {
 html:is([lang^="es"],[lang^="ru"]) body.icb-home.icb-warm #header :is(.header-nav-item,.language-picker-desktop) {font-size:15px !important}
}
body.icb-home.icb-warm #header .header-actions-action--cta a {
 display:inline-flex;align-items:center;justify-content:center;font-size:16px !important;
}
body.icb-home.icb-warm #header .header-actions {gap:clamp(24px,2.5vw,48px)}
@media(min-width:1200px) {
 body.icb-home.icb-warm #header .header-display-desktop {
  grid-template-columns:minmax(0,1fr) 160px minmax(0,1fr);gap:clamp(32px,3vw,56px);min-height:153px;
 }
}
@media(max-width:1199.98px) {
 body.icb-home.icb-warm #header .header-inner {padding:28px 24px 32px !important}
 body.icb-home.icb-warm #header .header-title-logo img {
  height:115px !important;max-height:115px !important;
 }
 body.icb-home.icb-warm #header .header-display-mobile {min-height:115px}
}
@media(max-width:374px) {
 body.icb-home.icb-warm #header .header-inner {padding-inline:20px !important}
}
/* Drop-down titles in the heading font, matching the inner pages (consistency check, 28 Oct 2026). */
body.icb-home.icb-warm .home-main .accordion-item__click-target {font:500 20px/1.45 Poppins,sans-serif;color:var(--warm-ink)}
@media (max-width:767px) {body.icb-home.icb-warm .home-main .accordion-item__click-target {font-size:19px}}
/* Korean breaks lines between words, not inside them (translated pages). */
html[lang="ko"] body{word-break:keep-all;overflow-wrap:break-word}

/* Group companies (31 Oct 2026): as on gibbesch-consulting.com, mirrored so ICB comes first. */
body.icb-home.icb-warm .home-group h2 {max-width:760px;margin:0 auto 48px;text-align:center;text-wrap:balance}
body.icb-home.icb-warm .home-group-list {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;margin:0;padding:0;list-style:none}
body.icb-home.icb-warm .home-group-list li {display:flex;flex-direction:column;align-items:center;margin:0;text-align:center}
body.icb-home.icb-warm .home-group-logo {display:block;width:auto;height:84px;max-width:100%;margin-bottom:24px;object-fit:contain}
body.icb-home.icb-warm .home-group-logo-wide {height:56px;margin-block:14px 38px}
body.icb-home.icb-warm .home-group-list p {max-width:34ch;margin:0;font-size:17px;line-height:1.7}
/* Phones: a compact list, logo beside the text, so the section takes about a screen (owner). */
@media(max-width:767px) {
 body.icb-home.icb-warm .home-group {padding-block:40px}
 body.icb-home.icb-warm .home-group h2 {margin-bottom:24px;text-align:left}
 body.icb-home.icb-warm .home-group-list {grid-template-columns:1fr;gap:24px}
 body.icb-home.icb-warm .home-group-list li {display:grid;grid-template-columns:84px minmax(0,1fr);column-gap:16px;align-items:start;text-align:left}
 body.icb-home.icb-warm .home-group-logo {grid-column:1;grid-row:1;width:100%;height:48px;margin:0;object-position:center top}
 body.icb-home.icb-warm .home-group-logo-wide {height:48px;margin:0}
 body.icb-home.icb-warm .home-group-list p {grid-column:2;max-width:none;font-size:16px;line-height:1.6}
}

/* Roomier homepage on large screens (owner, 31 Oct 2026; backup work/backups/before-roomy-layout-2026-10-31).
   Each section gets close to a screen of its own, the page scales up on big monitors, and the
   sections alternate between white and cream so each one reads as a separate block. Phones and
   tablets are unchanged. Homepage only: inner pages use .pilot-main. */
@media (min-width:1024px) {
 body.icb-home.icb-warm .home-main:not(.pilot-main) > .home-section {padding-block:clamp(88px,10vh,136px)}
 body.icb-home.icb-warm .home-main:not(.pilot-main) > :is(.home-risk,.home-other,.home-testimonials,.home-visas) {background:var(--warm-surface)}
 body.icb-home.icb-warm .home-main:not(.pilot-main) > :is(.home-group,.home-housing,.home-support) {background:var(--warm-card)}
 body.icb-home.icb-warm .home-main:not(.pilot-main) .home-copy > .home-button,
 body.icb-home.icb-warm .home-main:not(.pilot-main) .home-copy > div > .home-button {margin-top:40px}
}
/* Tall enough screens: each block close to a screen, its content centred in that space. */
@media (min-width:1024px) and (min-height:700px) {
 body.icb-home.icb-warm .home-main:not(.pilot-main) > .home-hero {min-height:max(var(--home-hero-height,600px),min(74vh,860px))}
 body.icb-home.icb-warm .home-main:not(.pilot-main) > .home-section {display:flex;flex-direction:column;justify-content:center;min-height:min(76vh,880px)}
 body.icb-home.icb-warm .home-main:not(.pilot-main) > .home-intro {min-height:min(56vh,640px)}
 body.icb-home.icb-warm .home-main:not(.pilot-main) > .home-section > .home-container {width:calc(100% - 80px)}
}
/* Big monitors: wider content and larger type, in proportion to the screen. */
@media (min-width:1600px) {
 body.icb-home.icb-warm .home-main:not(.pilot-main) .home-container {max-width:1320px}
 body.icb-home.icb-warm .home-main:not(.pilot-main) .home-reading {max-width:900px}
 body.icb-home.icb-warm .home-main:not(.pilot-main) h1 {font-size:72px}
 body.icb-home.icb-warm .home-main:not(.pilot-main) h2 {font-size:52px}
 body.icb-home.icb-warm .home-main:not(.pilot-main) p {font-size:20px}
 body.icb-home.icb-warm .home-main:not(.pilot-main) .home-lead {font-size:24px}
 body.icb-home.icb-warm .home-main:not(.pilot-main) .home-hero .home-hero-subtitle {font-size:24px;max-width:680px}
 body.icb-home.icb-warm .home-main:not(.pilot-main) .home-split {gap:104px}
 body.icb-home.icb-warm .home-main:not(.pilot-main) .home-audience-card h3 {font-size:22px}
 body.icb-home.icb-warm .home-main:not(.pilot-main) .home-audience-card p {font-size:19px}
 body.icb-home.icb-warm .home-main:not(.pilot-main) .accordion-item__click-target {font-size:22px}
 body.icb-home.icb-warm .home-main:not(.pilot-main) .home-group-list p {font-size:19px}
 body.icb-home.icb-warm .home-main:not(.pilot-main) .home-group-logo {height:96px}
 body.icb-home.icb-warm .home-main:not(.pilot-main) .home-group-logo-wide {height:64px;margin-block:16px 40px}
 body.icb-home.icb-warm .home-main:not(.pilot-main) .home-quote blockquote p {font-size:20px}
}
