:root {
    --icl-navy: #242C43;
    --icl-navy-deep: #1D2437;
    --icl-warm: #F8F7F3;
    --icl-cream: #F3F1EC;
    --icl-stone: #D8D4CC;
    --icl-sage: #7D9188;
    --icl-sage-light: #A7B5AE;
    --icl-sage-interactive: #5F736A;
    --icl-text: #242C43;
    --icl-muted: #686C70;
    --icl-border: #DCD8D1;
    --icl-white: #FFFFFF;
    --icl-warm-white: #F8F7F3;
    --icl-danger: #8A3F3A;
    --icl-serif: "Playfair Display", Georgia, "Times New Roman", serif;
    --icl-sans: "Montserrat", Arial, Helvetica, sans-serif;
    --icl-heading-font: var(--icl-serif);
    --icl-container: 1380px;
    --icl-content: 720px;
    --icl-header-h: 92px;
    --icl-photo-radius: 12px;
    --icl-ease: cubic-bezier(.22,.61,.36,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--icl-text);
    background: var(--icl-warm);
    font-family: var(--icl-sans);
    font-size: 17px;
    line-height: 1.72;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 4px; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
::selection { background: #D5DDD9; color: var(--icl-navy); }

.screen-reader-text {
    border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px;
    margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px;
    word-wrap: normal !important;
}
.icl-skip-link {
    position: fixed; left: 18px; top: 18px; z-index: 99999; transform: translateY(-180%);
    padding: 11px 15px; background: var(--icl-navy); color: var(--icl-warm); border-radius: 2px;
}
.icl-skip-link:focus { transform: translateY(0); }

.icl-container { width: min(calc(100% - 112px), var(--icl-container)); margin-inline: auto; }
.icl-narrow { max-width: 820px; }
.icl-bg-cream { background: var(--icl-cream); }
.icl-bg-navy { background: var(--icl-navy); color: var(--icl-warm); }
.icl-section-light { color: var(--icl-warm); }

h1, h2, h3, p { margin-top: 0; }
h1, h2 {
    font-family: var(--icl-serif);
    font-weight: 500;
    letter-spacing: -.045em;
    text-wrap: balance;
}
h1 { font-size: clamp(3.6rem, 6.25vw, 6.8rem); line-height: .96; margin-bottom: 34px; }
h2 { font-size: clamp(2.6rem, 4.8vw, 5.1rem); line-height: 1.01; margin-bottom: 30px; }
h3 {
    font-family: var(--icl-sans);
    font-size: clamp(1.08rem, 1.45vw, 1.34rem);
    line-height: 1.35;
    font-weight: 600;
    letter-spacing: -.02em;
    margin-bottom: 14px;
}
p { margin-bottom: 1.3em; }
.icl-eyebrow {
    margin-bottom: 22px;
    color: var(--icl-sage-interactive);
    font-size: .68rem;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: .19em;
    text-transform: uppercase;
}
.icl-bg-navy .icl-eyebrow { color: #B8C6BF; }
.icl-prose { max-width: var(--icl-content); }
.icl-prose > :last-child { margin-bottom: 0; }
.icl-prose p { color: var(--icl-muted); }
.icl-section-light .icl-prose p { color: #D8DDDA; }
.icl-note { color: var(--icl-muted); font-size: .78rem; line-height: 1.6; }
.icl-medical-flag {
    margin: 28px 0;
    padding: 18px 0 18px 22px;
    border-left: 1px solid var(--icl-sage);
    color: var(--icl-muted) !important;
    font-size: .78rem;
    line-height: 1.65;
}
.icl-medical-flag-light { color: #DEE4E1 !important; border-left-color: #819A8F; }

.icl-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 13px 23px;
    border: 1px solid var(--icl-navy);
    border-radius: 2px;
    background: var(--icl-navy);
    color: var(--icl-warm);
    text-decoration: none;
    font-size: .77rem;
    font-weight: 600;
    letter-spacing: .045em;
    transition: background .25s var(--icl-ease), border-color .25s var(--icl-ease), color .25s var(--icl-ease), transform .25s var(--icl-ease);
}
.icl-button:hover { background: var(--icl-sage-interactive); border-color: var(--icl-sage-interactive); }
.icl-button:active { transform: translateY(1px); }
.icl-button-secondary { background: transparent; color: var(--icl-navy); }
.icl-button-secondary:hover { color: var(--icl-warm); }
.icl-button-large { min-height: 62px; padding: 16px 30px; }
.icl-text-link {
    display: inline-flex;
    gap: 9px;
    align-items: center;
    padding-bottom: 4px;
    border-bottom: 1px solid rgba(36,44,67,.34);
    text-decoration: none;
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .025em;
}
.icl-text-link span { transition: transform .25s var(--icl-ease); }
.icl-text-link:hover span { transform: translate(3px,-2px); }
.icl-text-link-light { color: var(--icl-warm) !important; border-bottom-color: rgba(248,247,243,.36); }
.icl-button:focus-visible, .icl-text-link:focus-visible, .icl-menu a:focus-visible, .icl-header-cta:focus-visible,
input:focus-visible, select:focus-visible, textarea:focus-visible, button:focus-visible {
    outline: 3px solid #8FA69B;
    outline-offset: 4px;
}
.icl-inline-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 30px; }

/* Header */
.icl-site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(248,247,243,.96);
    border-bottom: 1px solid rgba(220,216,209,.72);
}
.icl-header-inner { min-height: var(--icl-header-h); display: flex; align-items: center; justify-content: space-between; gap: 36px; }
.icl-brand { display: inline-flex; align-items: center; gap: 13px; text-decoration: none; flex: 0 0 auto; }
.icl-brand .custom-logo { max-height: 50px; width: auto; }
.icl-brand-mark { position: relative; width: 30px; height: 30px; border: 1px solid rgba(36,44,67,.48); border-radius: 50%; }
.icl-brand-mark::before, .icl-brand-mark::after, .icl-brand-mark i {
    content: ""; position: absolute; border-radius: 50%; inset: 5px; border: 1px solid rgba(36,44,67,.45);
}
.icl-brand-mark::after { inset: 11px; background: var(--icl-navy); border: 0; }
.icl-brand-mark i { inset: -5px 13px; border: 0; border-left: 1px solid rgba(36,44,67,.18); border-right: 1px solid rgba(36,44,67,.18); border-radius: 0; }
.icl-brand-lockup { display: flex; flex-direction: column; line-height: .92; }
.icl-brand-lockup strong { font-family: var(--icl-serif); font-size: 1.18rem; font-weight: 600; letter-spacing: -.035em; }
.icl-brand-lockup span { margin-top: 5px; font-size: .54rem; font-weight: 700; letter-spacing: .25em; text-transform: uppercase; }
.icl-primary-nav { display: flex; align-items: center; gap: 30px; }
.icl-menu { list-style: none; display: flex; align-items: center; gap: 26px; margin: 0; padding: 0; }
.icl-menu a { position: relative; text-decoration: none; font-size: .68rem; font-weight: 600; letter-spacing: .035em; }
.icl-menu a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -7px; height: 1px; background: var(--icl-navy); transition: right .25s var(--icl-ease); }
.icl-menu a:hover::after, .icl-menu .current-menu-item > a::after { right: 0; }
.icl-header-cta {
    display: inline-flex; align-items: center; gap: 14px; padding: 10px 0 10px 18px;
    border-left: 1px solid var(--icl-border); text-decoration: none; font-size: .68rem; font-weight: 700; letter-spacing: .04em;
}
.icl-header-cta span:last-child { font-size: 1rem; transition: transform .25s var(--icl-ease); }
.icl-header-cta:hover span:last-child { transform: translate(3px,-2px); }
.icl-menu-toggle { display: none; width: 46px; height: 46px; border: 0; background: transparent; padding: 12px 8px; }
.icl-menu-toggle > span:not(.screen-reader-text) { display: block; width: 26px; height: 1px; margin: 7px auto; background: var(--icl-navy); transition: transform .25s var(--icl-ease); }

/* Premium media placeholder */
.icl-placeholder {
    position: relative;
    display: flex;
    min-height: 260px;
    overflow: hidden;
    background: #D9D5CD;
    color: var(--icl-navy);
    isolation: isolate;
}
.icl-placeholder::before {
    content: "";
    position: absolute;
    width: min(56%, 300px);
    aspect-ratio: 1;
    top: 50%; left: 50%;
    transform: translate(-50%,-56%);
    border: 1px solid rgba(36,44,67,.26);
    border-radius: 50%;
    box-shadow: 0 0 0 18px rgba(36,44,67,.04), 0 0 0 44px rgba(36,44,67,.03), 0 0 0 76px rgba(36,44,67,.025);
    z-index: -1;
}
.icl-placeholder::after {
    content: "";
    position: absolute;
    width: 12%; aspect-ratio: 1;
    top: 43%; left: 50%; transform: translate(-50%,-50%);
    background: var(--icl-navy);
    border-radius: 50%;
    z-index: -1;
}
.icl-placeholder-art { display: none; }
.icl-placeholder-copy,
.icl-placeholder > span:not(.icl-placeholder-art):not(.icl-placeholder-copy) {
    align-self: flex-end;
    width: 100%;
    margin-top: auto;
    padding: 24px 26px;
    background: rgba(248,247,243,.92);
    border-top: 1px solid rgba(36,44,67,.12);
    font-size: .64rem;
    line-height: 1.55;
    letter-spacing: .015em;
}
.icl-placeholder-copy { display: grid; gap: 7px; }
.icl-placeholder-copy strong { font-size: .57rem; letter-spacing: .17em; }
.icl-placeholder-copy > span { max-width: 760px; }
.icl-placeholder-copy small { color: var(--icl-muted); font-size: .58rem; }
.icl-placeholder > small { position: absolute; right: 20px; top: 18px; font-size: .58rem; letter-spacing: .09em; text-transform: uppercase; }

/* Hero */
.icl-hero {
    position: relative;
    min-height: calc(100svh - var(--icl-header-h));
    padding: 54px 0 68px;
    overflow: hidden;
}
.icl-hero-grid { display: grid; grid-template-columns: minmax(0, .92fr) minmax(460px, .78fr); gap: clamp(56px, 7vw, 124px); align-items: center; min-height: 720px; }
.icl-hero-copy { position: relative; z-index: 2; padding: 30px 0 28px; }
.icl-hero h1 { max-width: 880px; }
.icl-hero h1 em { display: block; color: var(--icl-sage-interactive); font-style: italic; font-weight: 500; }
.icl-hero-lead { max-width: 630px; color: var(--icl-muted); font-size: clamp(1.02rem, 1.5vw, 1.2rem); line-height: 1.72; }
.icl-hero-actions { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; margin-top: 38px; }
.icl-hero-meta { display: flex; flex-wrap: wrap; gap: 10px 24px; margin-top: 78px; color: var(--icl-muted); font-size: .62rem; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; }
.icl-hero-meta span + span::before { content: "•"; margin-right: 24px; color: var(--icl-sage); }
.icl-hero-media { margin: 0; position: relative; width: 100%; align-self: stretch; min-height: 660px; }
.icl-hero-media .icl-placeholder { height: 100%; min-height: 660px; }
.icl-hero-placeholder::before { width: 72%; border-color: rgba(248,247,243,.42); box-shadow: 0 0 0 38px rgba(248,247,243,.07), 0 0 0 88px rgba(248,247,243,.04); }
.icl-hero-placeholder::after { background: var(--icl-warm); }
.icl-hero-placeholder { background: var(--icl-navy); color: var(--icl-warm); }
.icl-hero-placeholder .icl-placeholder-copy { background: rgba(29,36,55,.93); color: var(--icl-warm); border-top-color: rgba(248,247,243,.2); }
.icl-hero-placeholder .icl-placeholder-copy small { color: #C7CDC9; }
.icl-hero-media figcaption { display: flex; justify-content: space-between; gap: 20px; padding-top: 14px; border-top: 1px solid var(--icl-border); color: var(--icl-muted); font-size: .61rem; letter-spacing: .08em; text-transform: uppercase; }
.icl-hero-index { position: absolute; left: max(20px, calc((100vw - var(--icl-container))/2)); bottom: 20px; writing-mode: vertical-rl; transform: rotate(180deg); color: rgba(36,44,67,.22); font-size: .55rem; letter-spacing: .22em; }

/* Statement */
.icl-statement { padding: 142px 0; background: var(--icl-navy); color: var(--icl-warm); }
.icl-statement-grid { display: grid; grid-template-columns: .32fr 1.68fr; gap: 70px; align-items: start; }
.icl-statement p:last-child { max-width: 1120px; margin: 0; font-family: var(--icl-serif); font-size: clamp(2.7rem, 4.7vw, 5.1rem); line-height: 1.03; letter-spacing: -.04em; }
.icl-statement em { color: #B8C6BF; font-style: italic; }

/* Global sections */
.icl-section, .icl-page-section { padding-top: 148px; padding-bottom: 148px; }
.icl-section-heading { max-width: 940px; margin-bottom: 68px; }
.icl-section-heading > p:not(.icl-eyebrow) { max-width: 720px; color: var(--icl-muted); }
.icl-section-light .icl-section-heading > p:not(.icl-eyebrow) { color: #D8DDDA; }
.icl-section-heading-split { max-width: none; display: grid; grid-template-columns: 1.1fr .9fr; gap: 100px; align-items: end; }
.icl-section-cta { margin-top: 48px; margin-bottom: 0; }
.icl-two-column { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(64px, 8vw, 130px); align-items: start; }
.icl-two-column-wide { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); }
.icl-two-column-form { grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); }
.icl-clean-list { list-style: none; margin: 34px 0; padding: 0; border-top: 1px solid var(--icl-border); }
.icl-clean-list li { padding: 17px 0; border-bottom: 1px solid var(--icl-border); color: var(--icl-text); }

/* Results showcase */
.icl-results-intro { display: grid; grid-template-columns: 1.2fr .8fr; gap: 100px; align-items: end; margin-bottom: 76px; }
.icl-results-intro h2 { max-width: 880px; margin-bottom: 0; }
.icl-results-intro .icl-prose p { margin-bottom: 25px; }
.icl-case-grid { display: grid; grid-template-columns: 1.35fr .65fr; grid-auto-rows: minmax(0, 1fr); gap: 28px; align-items: stretch; }
.icl-case-card { position: relative; border-top: 1px solid var(--icl-border); padding-top: 13px; min-width: 0; }
.icl-case-card:first-child { grid-row: span 2; }
.icl-case-card h3 { margin-bottom: 8px; }
.icl-case-card h3 a { text-decoration: none; }
.icl-case-card-copy { padding: 20px 0 0; }
.icl-case-card-copy p:not(.icl-eyebrow) { max-width: 440px; color: var(--icl-muted); font-size: .82rem; }
.icl-case-media { display: block; text-decoration: none; }
.icl-case-card .icl-placeholder, .icl-case-card .icl-before-after { aspect-ratio: 4/5; min-height: 0; }
.icl-case-card:not(:first-child) .icl-placeholder, .icl-case-card:not(:first-child) .icl-before-after { aspect-ratio: 16/10; }
.icl-case-card:not(:first-child) .icl-placeholder::before { width: 38%; }
.icl-results-disclaimer { max-width: 760px; margin: 44px 0 0; color: var(--icl-muted); font-size: .72rem; line-height: 1.65; }
.icl-before-after { position: relative; overflow: hidden; background: var(--icl-cream); }
.icl-before-after-large { max-width: 1080px; margin-inline: auto; }
.icl-ba-image { position: absolute; inset: 0; }
.icl-ba-image img { width: 100%; height: 100%; object-fit: cover; }
.icl-ba-after { clip-path: inset(0 0 0 50%); }
.icl-ba-range { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: ew-resize; z-index: 3; }
.icl-ba-label { position: absolute; top: 16px; z-index: 2; padding: 7px 10px; background: rgba(36,44,67,.86); color: #fff; font-size: .57rem; letter-spacing: .11em; text-transform: uppercase; }
.icl-ba-label-before { left: 16px; }
.icl-ba-label-after { right: 16px; }

/* Editorial procedure feature */
.icl-editorial-feature { position: relative; overflow: hidden; }
.icl-editorial-feature-grid { display: grid; grid-template-columns: .24fr 1.03fr .73fr; gap: 62px; align-items: start; }
.icl-editorial-index { font-family: var(--icl-serif); color: rgba(36,44,67,.16); font-size: clamp(5rem, 9vw, 10rem); line-height: .8; letter-spacing: -.08em; }
.icl-editorial-title h2 { max-width: 790px; }
.icl-editorial-copy { padding-top: 60px; }

/* Evolution */
.icl-evolution-heading { max-width: 980px; margin-bottom: 76px; }
.icl-evolution-heading > p:not(.icl-eyebrow) { max-width: 650px; color: var(--icl-muted); }
.icl-progression-demo { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.icl-progression-item { min-width: 0; }
.icl-progression-label, .icl-progression-item > span:first-child { display: block; margin-bottom: 13px; color: var(--icl-muted); font-size: .6rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.icl-progression-item .icl-placeholder { aspect-ratio: 1/1; }

/* Process */
.icl-process-stage { padding-top: 160px; padding-bottom: 160px; }
.icl-process-heading { display: grid; grid-template-columns: 1.15fr .55fr; gap: 110px; align-items: end; margin-bottom: 86px; }
.icl-process-heading h2 { max-width: 880px; margin-bottom: 0; }
.icl-process-heading > p { max-width: 480px; margin: 0 0 10px; color: #C8D0CC; }
.icl-process-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(248,247,243,.24); }
.icl-process-item { position: relative; min-height: 330px; padding: 34px 34px 30px 0; border-right: 1px solid rgba(248,247,243,.18); }
.icl-process-item + .icl-process-item { padding-left: 34px; }
.icl-process-item:last-child { border-right: 0; }
.icl-step-number { display: block; margin-bottom: 72px; color: #AFC0B8; font-family: var(--icl-serif); font-size: 2.4rem; font-style: italic; }
.icl-process-item h3 { color: var(--icl-warm); }
.icl-process-item p { max-width: 270px; margin-bottom: 0; color: #C7CECB; font-size: .78rem; line-height: 1.65; }

/* Safety editorial */
.icl-safety-editorial { display: grid; grid-template-columns: .18fr .82fr .82fr; gap: 58px; align-items: start; }
.icl-safety-number { color: rgba(36,44,67,.16); font-family: var(--icl-serif); font-size: clamp(5rem, 8vw, 9rem); line-height: .8; letter-spacing: -.08em; }
.icl-safety-editorial h2 { max-width: 750px; }
.icl-safety-editorial .icl-prose { padding-top: 55px; }

/* Assessment */
.icl-assessment-grid { display: grid; grid-template-columns: .9fr 1.1fr; column-gap: 120px; row-gap: 44px; }
.icl-assessment-lead { max-width: 520px; color: var(--icl-muted); }
.icl-study-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--icl-border); }
.icl-study-list li { display: grid; grid-template-columns: 56px 1fr; gap: 10px; padding: 18px 0; border-bottom: 1px solid var(--icl-border); font-weight: 500; }
.icl-study-list span { color: var(--icl-sage-interactive); font-size: .6rem; letter-spacing: .1em; }
.icl-assessment-note { grid-column: 2; margin: 0; }

/* Video */
.icl-video-stage { display: grid; grid-template-columns: .62fr 1.38fr; gap: 90px; align-items: end; }
.icl-video-copy { padding-bottom: 52px; }
.icl-video-copy h2 { font-size: clamp(2.7rem, 4.3vw, 4.7rem); }
.icl-video-copy > p:not(.icl-eyebrow) { color: var(--icl-muted); }
.icl-video-placeholder .icl-placeholder { aspect-ratio: 16/9; min-height: 0; background: var(--icl-navy); color: var(--icl-warm); }
.icl-video-placeholder .icl-placeholder::before { border-color: rgba(248,247,243,.32); box-shadow: 0 0 0 32px rgba(248,247,243,.05), 0 0 0 68px rgba(248,247,243,.03); }
.icl-video-placeholder .icl-placeholder::after { width: 0; height: 0; border-top: 14px solid transparent; border-bottom: 14px solid transparent; border-left: 22px solid var(--icl-warm); background: transparent; border-radius: 0; }
.icl-video-placeholder .icl-placeholder-copy, .icl-video-placeholder .icl-placeholder > span:not(.icl-placeholder-art):not(.icl-placeholder-copy) { background: rgba(29,36,55,.93); color: var(--icl-warm); border-top-color: rgba(248,247,243,.2); }

/* Clinics */
.icl-clinics-heading { display: grid; grid-template-columns: 1.15fr .55fr; gap: 100px; align-items: end; margin-bottom: 72px; }
.icl-clinics-heading h2 { margin-bottom: 0; }
.icl-clinics-heading > p { color: var(--icl-muted); margin-bottom: 8px; }
.icl-clinic-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; }
.icl-clinic-card { border-top: 1px solid var(--icl-border); padding-top: 13px; }
.icl-clinic-media .icl-placeholder, .icl-clinic-media img { aspect-ratio: 3/2; width: 100%; object-fit: cover; }
.icl-clinic-media .icl-placeholder::before { width: 35%; }
.icl-clinic-copy { padding: 22px 0 0; }
.icl-clinic-copy .icl-eyebrow { margin-bottom: 12px; }
.icl-clinic-copy p:not(.icl-eyebrow) { color: var(--icl-muted); font-size: .8rem; }

/* International */
.icl-international-stage > .icl-eyebrow { margin-bottom: 42px; }
.icl-international-grid { display: grid; grid-template-columns: 1.18fr .62fr; gap: 120px; align-items: start; }
.icl-international-grid h2 { max-width: 870px; margin-bottom: 0; }
.icl-international-grid .icl-prose { padding-top: 18px; }

/* FAQ */
.icl-faq-stage-heading { max-width: 780px; margin-bottom: 55px; }
.icl-faq { border-top: 1px solid var(--icl-border); }
.icl-faq-item { border-bottom: 1px solid var(--icl-border); }
.icl-faq-item h3 { margin: 0; }
.icl-faq-button { width: 100%; display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center; padding: 27px 0; border: 0; background: transparent; color: var(--icl-navy); text-align: left; font-size: 1rem; font-weight: 500; }
.icl-faq-button > span:last-child { width: 28px; height: 28px; display: grid; place-items: center; color: var(--icl-sage-interactive); font-size: 1.3rem; font-weight: 300; transition: transform .25s var(--icl-ease); }
.icl-faq-button[aria-expanded="true"] > span:last-child { transform: rotate(45deg); }
.icl-faq-panel { max-width: 820px; padding: 0 0 30px; }
.icl-faq-panel .icl-prose p { color: var(--icl-muted); font-size: .88rem; }
.icl-faq-toolbar { max-width: 640px; margin-bottom: 80px; }
.icl-faq-toolbar label { display: block; margin-bottom: 11px; font-size: .66rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.icl-faq-toolbar input { width: 100%; padding: 16px 0; border: 0; border-bottom: 1px solid var(--icl-navy); background: transparent; border-radius: 0; color: var(--icl-navy); font-size: 1.05rem; }

/* Valuation */
.icl-valuation-section { background: var(--icl-navy-deep); color: var(--icl-warm); padding-top: 160px; padding-bottom: 160px; }
.icl-valuation-layout { display: grid; grid-template-columns: .76fr 1.24fr; gap: 110px; align-items: start; }
.icl-valuation-intro { position: sticky; top: calc(var(--icl-header-h) + 54px); }
.icl-valuation-intro h2 { max-width: 690px; }
.icl-valuation-intro > p:not(.icl-eyebrow) { max-width: 530px; color: #C8D0CC; }
.icl-valuation-fine { margin-top: 50px; padding-top: 18px; border-top: 1px solid rgba(248,247,243,.18); font-size: .72rem !important; }
.icl-valuation-panel { background: var(--icl-warm); color: var(--icl-navy); padding: clamp(28px, 4.6vw, 62px); }
.icl-valuation-form { width: 100%; }
.icl-form-progress { height: 1px; background: var(--icl-border); overflow: hidden; margin-bottom: 18px; }
.icl-form-progress span { display: block; width: 50%; height: 100%; background: var(--icl-sage-interactive); transition: width .25s var(--icl-ease); }
.icl-form-step-label { margin-bottom: 34px; color: var(--icl-muted); font-size: .65rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.icl-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px 30px; }
.icl-form-grid-single { grid-template-columns: 1fr; }
.icl-form-grid label, .icl-form-grid fieldset { display: block; min-width: 0; margin: 0; padding: 0; border: 0; }
.icl-form-grid label > span, .icl-form-grid legend { display: block; margin-bottom: 9px; color: var(--icl-navy); font-size: .67rem; font-weight: 650; letter-spacing: .035em; }
.icl-form-grid em { color: var(--icl-muted); font-style: normal; font-weight: 400; }
.icl-form-grid input[type="text"], .icl-form-grid input[type="email"], .icl-form-grid input[type="tel"], .icl-form-grid select, .icl-form-grid textarea {
    width: 100%; padding: 13px 0 12px; border: 0; border-bottom: 1px solid #BAB8B2; border-radius: 0; outline: 0; background: transparent; color: var(--icl-navy);
}
.icl-form-grid textarea { min-height: 112px; resize: vertical; }
.icl-form-grid input:focus, .icl-form-grid select:focus, .icl-form-grid textarea:focus { border-bottom-color: var(--icl-navy); }
.icl-radio-row { display: flex; gap: 20px; flex-wrap: wrap; padding-top: 8px; }
.icl-radio-row label { display: inline-flex; align-items: center; gap: 8px; font-size: .78rem; }
.icl-consent { display: grid !important; grid-template-columns: 18px 1fr; gap: 12px; align-items: start; }
.icl-consent input { margin-top: 4px; }
.icl-consent span { margin: 0 !important; line-height: 1.55; }
.icl-form-privacy-note { margin: 0; color: var(--icl-muted); font-size: .67rem; line-height: 1.6; }
.icl-form-actions { display: flex; justify-content: flex-end; gap: 12px; margin-top: 42px; }
.icl-form-actions-split { justify-content: space-between; }
.icl-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; }
.icl-form-message { margin-bottom: 26px; padding: 15px 18px; border-left: 2px solid var(--icl-sage-interactive); background: #ECEBE6; font-size: .8rem; }
.icl-form-message-error { border-left-color: var(--icl-danger); }

/* Page heroes */
.icl-page-hero { position: relative; padding-top: clamp(110px, 12vw, 178px); padding-bottom: clamp(90px, 10vw, 142px); border-bottom: 1px solid var(--icl-border); }
.icl-page-hero::after { content: none; }
.icl-page-watermark { position: absolute; right: 0; bottom: 26px; color: rgba(36,44,67,.22); font-size: .55rem; letter-spacing: .22em; writing-mode: vertical-rl; }
.icl-page-hero h1 { max-width: 1050px; margin-bottom: 30px; }
.icl-page-lead { max-width: 760px; color: var(--icl-muted); font-size: clamp(1rem, 1.4vw, 1.18rem); }
.icl-page-content { overflow: hidden; }
.icl-page-section h2 { max-width: 890px; }
.icl-info-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 54px; border-top: 1px solid var(--icl-border); }
.icl-info-grid article { min-height: 220px; padding: 32px 0; border-bottom: 1px solid var(--icl-border); }
.icl-info-grid article p { color: var(--icl-muted); }
.icl-timeline { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--icl-border); }
.icl-timeline li { display: grid; grid-template-columns: 100px 1fr; gap: 32px; padding: 31px 0; border-bottom: 1px solid var(--icl-border); }
.icl-timeline li > span { font-family: var(--icl-serif); font-size: 1.9rem; font-style: italic; color: var(--icl-sage-interactive); }
.icl-timeline li p { color: var(--icl-muted); margin-bottom: 0; }

/* Single case / clinic / confirmation */
.icl-case-detail-media { margin-bottom: 68px; }
.icl-case-facts { display: grid; grid-template-columns: repeat(2,1fr); gap: 0; margin: 0; border-top: 1px solid var(--icl-border); border-bottom: 1px solid var(--icl-border); }
.icl-case-facts div { padding: 26px 30px 26px 0; border-right: 1px solid var(--icl-border); }
.icl-case-facts div + div { padding-left: 30px; }
.icl-case-facts div:last-child { border-right: 0; }
.icl-case-facts dt { color: var(--icl-muted); font-size: .62rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.icl-case-facts dd { margin: 8px 0 0; font-family: var(--icl-serif); font-size: 1.6rem; }
.icl-clinic-feature-image { width: 100%; aspect-ratio: 3/2; object-fit: cover; }
.icl-confirmation-page { min-height: 70svh; display: grid; align-items: center; padding: 110px 0; }
.icl-confirmation-card { padding: 60px 0; text-align: left; }
.icl-confirmation-icon { display: grid; place-items: center; width: 58px; height: 58px; margin-bottom: 36px; border: 1px solid var(--icl-sage); border-radius: 50%; color: var(--icl-sage-interactive); font-size: 1.25rem; }
.icl-confirmation-card .icl-button { margin: 18px 0 28px; }

/* Footer */
.icl-site-footer { background: var(--icl-navy); color: var(--icl-warm); padding-top: 108px; }
.icl-footer-intro { display: grid; grid-template-columns: .32fr 1.68fr; gap: 70px; padding-bottom: 80px; border-bottom: 1px solid rgba(248,247,243,.18); }
.icl-footer-statement { max-width: 900px; margin: 0; font-family: var(--icl-serif); font-size: clamp(2.1rem, 3.4vw, 3.8rem); line-height: 1.08; letter-spacing: -.035em; }
.icl-footer-grid { display: grid; grid-template-columns: 1.3fr .8fr .8fr .8fr; gap: 60px; padding-top: 70px; padding-bottom: 70px; }
.icl-footer-mark { margin-bottom: 28px; font-family: var(--icl-serif); font-size: 3.2rem; font-style: italic; }
.icl-footer-brand > p:not(.icl-footer-mark) { max-width: 360px; color: #C7CECB; font-size: .76rem; }
.icl-footer-disclaimer { opacity: .78; }
.icl-footer-title { margin-bottom: 20px; color: #AFC0B8; font-size: .62rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.icl-footer-menu { list-style: none; margin: 0; padding: 0; }
.icl-footer-menu li { margin: 0 0 10px; color: #D9DEDB; font-size: .73rem; }
.icl-footer-menu a { text-decoration: none; }
.icl-footer-menu a:hover { color: var(--icl-white); }
.icl-footer-bottom { display: flex; justify-content: space-between; gap: 24px; padding: 22px 0 30px; border-top: 1px solid rgba(248,247,243,.16); color: #AEB7B3; font-size: .6rem; letter-spacing: .06em; text-transform: uppercase; }
.icl-footer-bottom p { margin: 0; }
.icl-footer-social { display: flex; align-items: center; gap: 12px; margin-top: 20px; }
.icl-footer-social a { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid rgba(184,198,191,.52); border-radius: 50%; color: var(--icl-sage); transition: color .2s ease, border-color .2s ease, transform .2s ease; }
.icl-footer-social a:hover, .icl-footer-social a:focus-visible { color: #DCE6E1; border-color: currentColor; transform: translateY(-2px); }
.icl-footer-social svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.icl-footer-social svg path:first-child:not(:only-child), .icl-footer-social .icl-social-fill { fill: currentColor; stroke: none; }
.icl-footer-social a:first-child svg { fill: currentColor; stroke: none; }
.icl-footer-regulatory { width: 100%; padding: 13px clamp(16px, 3vw, 48px) 16px; border-top: 1px solid rgba(248,247,243,.12); color: #AEB7B3; font-size: var(--icl-footer-legal-pc, 8px); line-height: 1.45; letter-spacing: .025em; text-align: center; }
.icl-footer-regulatory p { margin: 0 auto; white-space: nowrap; }

/* v1.8.39: canonical typography and contrast for every dark CTA and footer. */
.icl-conversion-cta,
.icl-conversion-cta-inner { font-family: var(--icl-sans); color: var(--icl-warm); }
.icl-conversion-cta h2 { font-family: var(--icl-serif); color: var(--icl-warm); }
.icl-conversion-cta p:not(.icl-eyebrow) { font-family: var(--icl-sans); color: #D8DDDA; }
.icl-conversion-cta .icl-eyebrow { font-family: var(--icl-sans); color: #B8C6BF; }
.icl-conversion-cta .icl-button-light { font-family: var(--icl-sans); background: var(--icl-warm); border-color: var(--icl-warm); color: var(--icl-navy); }
.icl-site-footer { font-family: var(--icl-sans); color: var(--icl-warm); }
.icl-site-footer .icl-footer-statement { font-family: var(--icl-serif); color: var(--icl-warm); }
.icl-site-footer .icl-eyebrow,
.icl-site-footer .icl-footer-wordmark,
.icl-site-footer .icl-footer-brand > p:not(.icl-footer-statement),
.icl-site-footer .icl-footer-title,
.icl-site-footer .icl-footer-menu,
.icl-site-footer .icl-footer-bottom,
.icl-site-footer .icl-footer-regulatory { font-family: var(--icl-sans); }

/* 404 / generic */
.error404 .icl-page-hero { min-height: 60svh; display: flex; flex-direction: column; justify-content: center; }

/* Motion */
@media (prefers-reduced-motion: no-preference) {
    .icl-case-card, .icl-clinic-card { transition: transform .35s var(--icl-ease); }
    .icl-case-card:hover, .icl-clinic-card:hover { transform: translateY(-4px); }
}

/* Tablet */
@media (max-width: 1120px) {
    .icl-container { width: min(calc(100% - 64px), var(--icl-container)); }
    .icl-menu { gap: 18px; }
    .icl-menu a { font-size: .63rem; }
    .icl-hero-grid { grid-template-columns: 1fr .8fr; gap: 48px; }
    .icl-hero-media { min-height: 580px; }
    .icl-hero-media .icl-placeholder { min-height: 580px; }
    .icl-editorial-feature-grid { grid-template-columns: .18fr 1fr .85fr; gap: 38px; }
    .icl-process-heading, .icl-clinics-heading { grid-template-columns: 1fr .55fr; gap: 65px; }
    .icl-process-item { padding-right: 22px; }
    .icl-process-item + .icl-process-item { padding-left: 22px; }
    .icl-step-number { margin-bottom: 52px; }
    .icl-safety-editorial { grid-template-columns: .12fr .92fr .92fr; gap: 38px; }
    .icl-valuation-layout { gap: 70px; }
}

/* Mobile navigation breakpoint */
@media (max-width: 900px) {
    :root { --icl-header-h: 78px; }
    .icl-container { width: min(calc(100% - 44px), var(--icl-container)); }
    body { font-size: 16px; }
    .icl-menu-toggle { display: block; }
    .icl-primary-nav {
        position: fixed; inset: var(--icl-header-h) 0 auto; display: none; min-height: calc(100svh - var(--icl-header-h));
        padding: 42px 22px 60px; background: var(--icl-warm); flex-direction: column; align-items: stretch; gap: 36px; overflow: auto;
    }
    .icl-primary-nav.is-open { display: flex; }
    .icl-menu { flex-direction: column; align-items: stretch; gap: 0; }
    .icl-menu li { border-bottom: 1px solid var(--icl-border); }
    .icl-menu a { display: block; padding: 18px 0; font-family: var(--icl-serif); font-size: 1.55rem; font-weight: 500; letter-spacing: -.025em; }
    .icl-menu a::after { display: none; }
    .icl-header-cta { justify-content: space-between; padding: 18px 0; border-left: 0; border-bottom: 1px solid var(--icl-navy); font-size: .72rem; }
    .icl-menu-toggle[aria-expanded="true"] > span:first-child { transform: translateY(4px) rotate(45deg); }
    .icl-menu-toggle[aria-expanded="true"] > span:nth-child(2) { transform: translateY(-4px) rotate(-45deg); }

    .icl-hero { padding: 36px 0 54px; }
    .icl-hero-grid { grid-template-columns: 1fr; gap: 52px; min-height: auto; }
    .icl-hero-copy { padding-top: 22px; }
    .icl-hero h1 { font-size: clamp(3.45rem, 13vw, 5.5rem); }
    .icl-hero-lead { max-width: 620px; }
    .icl-hero-meta { margin-top: 48px; }
    .icl-hero-media { min-height: 0; width: calc(100% + 22px); }
    .icl-hero-media .icl-placeholder { min-height: 0; aspect-ratio: 4/5; }
    .icl-hero-index { display: none; }

    .icl-statement { padding: 110px 0; }
    .icl-statement-grid { grid-template-columns: 1fr; gap: 26px; }
    .icl-statement p:last-child { font-size: clamp(2.6rem, 8vw, 4.2rem); }

    .icl-section, .icl-page-section { padding-top: 110px; padding-bottom: 110px; }
    .icl-results-intro, .icl-section-heading-split, .icl-two-column, .icl-two-column-wide, .icl-two-column-form,
    .icl-editorial-feature-grid, .icl-process-heading, .icl-safety-editorial, .icl-assessment-grid, .icl-video-stage,
    .icl-clinics-heading, .icl-international-grid, .icl-valuation-layout, .icl-footer-intro {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .icl-results-intro { margin-bottom: 54px; }
    .icl-case-grid { grid-template-columns: 1fr 1fr; gap: 20px; }
    .icl-case-card:first-child { grid-column: 1 / -1; grid-row: auto; }
    .icl-case-card:first-child .icl-placeholder, .icl-case-card:first-child .icl-before-after { aspect-ratio: 16/11; }
    .icl-editorial-index, .icl-safety-number { font-size: 5rem; }
    .icl-editorial-copy, .icl-safety-editorial .icl-prose { padding-top: 0; }
    .icl-progression-demo { overflow-x: auto; grid-template-columns: repeat(3,minmax(280px,1fr)); padding-bottom: 12px; scroll-snap-type: x mandatory; }
    .icl-progression-item { scroll-snap-align: start; }
    .icl-process-grid { grid-template-columns: repeat(2,1fr); }
    .icl-process-item { min-height: 280px; border-bottom: 1px solid rgba(248,247,243,.18); }
    .icl-process-item:nth-child(2) { border-right: 0; }
    .icl-step-number { margin-bottom: 38px; }
    .icl-assessment-note { grid-column: 1; }
    .icl-video-copy { padding-bottom: 0; }
    .icl-clinic-grid { grid-template-columns: 1fr; gap: 48px; }
    .icl-clinic-media .icl-placeholder, .icl-clinic-media img { aspect-ratio: 16/10; }
    .icl-valuation-intro { position: static; }
    .icl-valuation-section { padding-top: 110px; padding-bottom: 110px; }
    .icl-footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
    .icl-footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
    .icl-container { width: min(calc(100% - 36px), var(--icl-container)); }
    h2 { font-size: clamp(2.55rem, 11vw, 3.6rem); }
    .icl-eyebrow { font-size: .62rem; margin-bottom: 17px; }
    .icl-site-header { background: rgba(248,247,243,.98); }
    .icl-brand-lockup strong { font-size: 1.05rem; }
    .icl-brand-mark { width: 27px; height: 27px; }
    .icl-hero { padding-top: 26px; }
    .icl-hero h1 { font-size: clamp(3.25rem, 15vw, 4.7rem); }
    .icl-hero-actions { align-items: flex-start; flex-direction: column; gap: 22px; }
    .icl-hero-meta { gap: 8px 14px; }
    .icl-hero-meta span + span::before { margin-right: 14px; }
    .icl-hero-media { width: calc(100% + 18px); }
    .icl-statement { padding: 92px 0; }
    .icl-statement p:last-child { font-size: 2.55rem; }
    .icl-section, .icl-page-section { padding-top: 92px; padding-bottom: 92px; }
    .icl-case-grid { grid-template-columns: 1fr; gap: 48px; }
    .icl-case-card:first-child { grid-column: auto; }
    .icl-case-card:first-child .icl-placeholder, .icl-case-card:first-child .icl-before-after,
    .icl-case-card:not(:first-child) .icl-placeholder, .icl-case-card:not(:first-child) .icl-before-after { aspect-ratio: 4/5; }
    .icl-editorial-index, .icl-safety-number { font-size: 4.4rem; }
    .icl-progression-demo { grid-template-columns: repeat(3,minmax(84vw,1fr)); }
    .icl-process-grid { grid-template-columns: 1fr; }
    .icl-process-item, .icl-process-item + .icl-process-item { min-height: auto; padding: 30px 0 34px; border-right: 0; }
    .icl-step-number { margin-bottom: 26px; }
    .icl-process-item p { max-width: 100%; }
    .icl-study-list li { grid-template-columns: 44px 1fr; }
    .icl-video-placeholder .icl-placeholder { aspect-ratio: 4/3; }
    .icl-form-grid { grid-template-columns: 1fr; }
    .icl-valuation-panel { padding: 30px 22px; margin-inline: -18px; }
    .icl-form-actions, .icl-form-actions-split { flex-direction: column-reverse; align-items: stretch; }
    .icl-form-actions .icl-button { width: 100%; }
    .icl-radio-row { flex-direction: column; gap: 10px; }
    .icl-info-grid { grid-template-columns: 1fr; }
    .icl-timeline li { grid-template-columns: 58px 1fr; gap: 20px; }
    .icl-case-facts { grid-template-columns: 1fr; }
    .icl-case-facts div, .icl-case-facts div + div { padding: 20px 0; border-right: 0; border-bottom: 1px solid var(--icl-border); }
    .icl-case-facts div:last-child { border-bottom: 0; }
    .icl-footer-grid { grid-template-columns: 1fr 1fr; gap: 42px 26px; }
    .icl-footer-brand { grid-column: 1 / -1; }
    .icl-footer-bottom { flex-direction: column; }
}

@media (max-width: 767px) {
    .icl-footer-regulatory { font-size: var(--icl-footer-legal-mobile, 9px); padding: 14px 18px 18px; line-height: 1.55; }
    .icl-footer-regulatory p { max-width: 54ch; white-space: normal; }
    #main-content .icl-home-results .icl-case-card-copy,
    #main-content .icl-home-results .icl-case-card:first-child .icl-case-card-copy,
    #main-content .icl-home-results .icl-case-card:nth-child(n) .icl-case-card-copy { display: flex !important; flex-direction: column; align-items: center !important; width: 100% !important; max-width: 100% !important; margin-inline: auto !important; text-align: center !important; }
    #main-content .icl-home-results .icl-case-card-copy > *,
    #main-content .icl-home-results .icl-case-card-copy h3 a { width: 100%; margin-left: auto !important; margin-right: auto !important; text-align: center !important; justify-content: center !important; }
}


/* 1.3.1 stability guards: prevent intrinsic-content collapse in editorial grids. */
.icl-home-method-stage > *,
.icl-home-method-copy > *,
.icl-home-method-copy article > * { min-width: 0; }
.icl-home-method-copy article h3,
.icl-home-method-copy article p { max-inline-size: 100%; }

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Progressive enhancement: subtle, restrained entrance motion. */
.icl-site-header { transition: box-shadow .3s var(--icl-ease), background .3s var(--icl-ease); }
.icl-site-header.is-scrolled { box-shadow: 0 10px 32px rgba(36,44,67,.045); }
.icl-js .icl-reveal { opacity: 0; transform: translateY(20px); transition: opacity .7s var(--icl-ease), transform .7s var(--icl-ease); }
.icl-js .icl-reveal.is-visible { opacity: 1; transform: none; }

/* 1.3.1 stability guards: prevent intrinsic-content collapse in editorial grids. */
.icl-home-method-stage > *,
.icl-home-method-copy > *,
.icl-home-method-copy article > * { min-width: 0; }
.icl-home-method-copy article h3,
.icl-home-method-copy article p { max-inline-size: 100%; }

@media (prefers-reduced-motion: reduce) { .icl-js .icl-reveal { opacity: 1; transform: none; } }
@media (max-width: 900px) { body.icl-menu-open { overflow: hidden; } }
.icl-hero-copy, .icl-hero-grid > *, .icl-results-intro > *, .icl-editorial-feature-grid > *, .icl-process-heading > *, .icl-safety-editorial > *, .icl-assessment-grid > *, .icl-video-stage > *, .icl-clinics-heading > *, .icl-international-grid > *, .icl-valuation-layout > * { min-width: 0; }
@media (max-width: 620px) { .icl-hero h1, .icl-hero-lead { width: 100%; max-width: 100%; } }
.icl-clinic-card { min-width: 0; }
@media (max-width: 900px) {
    .icl-clinic-grid { grid-template-columns: minmax(0, 1fr); }
    .icl-hero-media { width: 100%; }
    .icl-hero-media .icl-placeholder { width: 100%; height: auto; }
}

/* =========================================================
   ICL 1.3 — Consolidated premium responsive system
   One visual pass for desktop, tablet and mobile.
   ========================================================= */

html { overflow-x: hidden; }
@supports (overflow: clip) { html, body { overflow-x: clip; } }
body { background: var(--icl-warm); }
body.admin-bar .icl-site-header { top: 32px; }

/* Layout rhythm */
.icl-container { width: min(calc(100% - clamp(48px, 6.5vw, 128px)), 1520px); }
.icl-section,
.icl-page-section { padding-top: clamp(88px, 7vw, 124px); padding-bottom: clamp(88px, 7vw, 124px); }
.icl-page-content > .icl-page-section + .icl-page-section { margin-top: 0; }

/* Typography: preserve Playfair + Montserrat, tune optical scale. */
h1 { font-size: clamp(3.7rem, 5.65vw, 6.25rem); line-height: .95; }
h2 { font-size: clamp(2.7rem, 4.25vw, 4.7rem); line-height: 1.015; }
h3 { font-size: clamp(1.04rem, 1.1vw, 1.22rem); }
.icl-eyebrow { margin-bottom: 18px; font-size: .64rem; letter-spacing: .18em; }
.icl-prose p { max-width: 66ch; }

/* Header: quieter and more legible on large screens. */
.icl-site-header {
    background: rgba(248,247,243,.94);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}
.icl-header-inner { min-height: 82px; gap: 30px; }
.icl-brand .icl-default-logo { width: clamp(176px, 10.2vw, 204px); height: auto; max-height: 58px; object-fit: contain; }
.icl-primary-nav { gap: 24px; }
.icl-menu { gap: clamp(18px, 1.45vw, 26px); }
.icl-menu a,
.icl-header-cta { font-size: .72rem; letter-spacing: .025em; }
.icl-header-cta { padding-left: 20px; }

/* Public placeholders: visually quiet, never look like developer notes. */
.icl-placeholder { background: #D9D5CD; }
.icl-placeholder-copy {
    padding: 16px 18px;
    background: rgba(248,247,243,.94);
    gap: 3px;
}
.icl-placeholder-copy strong { font-size: .54rem; letter-spacing: .16em; }
.icl-placeholder-copy > span { color: var(--icl-muted); font-size: .6rem; }
.icl-placeholder-copy small { font-size: .52rem; }

/* ---------------- Home hero ---------------- */
.icl-hero-lux { min-height: auto; padding: clamp(38px, 4vw, 66px) 0 0; overflow: clip; }
.icl-hero-lux-grid {
    display: grid;
    grid-template-columns: minmax(470px, .88fr) minmax(560px, 1.12fr);
    gap: clamp(54px, 6vw, 98px);
    align-items: center;
    min-height: min(690px, calc(100svh - 118px));
}
.icl-hero-lux-copy { padding: 20px 0 30px; min-width: 0; }
.icl-hero-lux h1 {
    max-width: 790px;
    margin-bottom: 28px;
    font-size: clamp(4.2rem, 5.2vw, 6.2rem);
    line-height: .93;
    letter-spacing: -.052em;
}
.icl-hero-lux h1 em { display: block; padding-left: clamp(12px, 2vw, 34px); color: var(--icl-sage-interactive); font-style: italic; }
.icl-hero-lux .icl-hero-lead { max-width: 570px; margin-left: clamp(0px, 1.15vw, 18px); color: var(--icl-muted); font-size: clamp(.98rem, 1.05vw, 1.08rem); line-height: 1.66; }
.icl-hero-lux .icl-hero-actions { margin: 30px 0 0 clamp(0px, 1.15vw, 18px); }
.icl-hero-lux-foot { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 38px 0 0 clamp(0px, 1.15vw, 18px); color: var(--icl-muted); font-size: .54rem; font-weight: 650; letter-spacing: .13em; text-transform: uppercase; }
.icl-hero-lux-foot span + span::before { content: "—"; margin-right: 18px; color: var(--icl-sage); }

.icl-hero-collage { position: relative; min-height: 620px; align-self: center; }
.icl-hero-photo { margin: 0; }
.icl-hero-photo-main { position: absolute; inset: 0; padding-bottom: 25px; }
.icl-hero-photo-main > .icl-placeholder { width: 100%; height: calc(100% - 25px); min-height: 595px; background: var(--icl-navy); color: var(--icl-warm); }
.icl-photo-placeholder::before { width: 50%; border-color: rgba(248,247,243,.30); box-shadow: 0 0 0 24px rgba(248,247,243,.05), 0 0 0 54px rgba(248,247,243,.027); }
.icl-photo-placeholder::after { background: var(--icl-warm); }
.icl-photo-placeholder .icl-placeholder-copy { background: rgba(29,36,55,.88); color: var(--icl-warm); border-color: rgba(248,247,243,.12); }
.icl-photo-placeholder .icl-placeholder-copy > span,
.icl-photo-placeholder .icl-placeholder-copy small { color: #C8D0CC; }
.icl-hero-photo-main figcaption { display: flex; justify-content: space-between; gap: 18px; padding-top: 10px; color: var(--icl-muted); font-family: var(--icl-sans); font-size: .5rem; letter-spacing: .13em; text-transform: uppercase; }

.icl-hero-principle { margin-top: 20px; padding: 30px 0 38px; border-top: 1px solid var(--icl-border); }
.icl-hero-principle p { max-width: 1080px; margin: 0; font-family: var(--icl-serif); font-size: clamp(1.55rem, 2vw, 2.35rem); line-height: 1.15; letter-spacing: -.025em; }
.icl-hero-principle strong { font-weight: 500; }
.icl-hero-principle em { color: var(--icl-sage-interactive); font-style: italic; }

/* ---------------- Home sections ---------------- */
.icl-home .icl-section { padding-top: clamp(82px, 6vw, 108px); padding-bottom: clamp(82px, 6vw, 108px); }
.icl-home-section-head {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(300px, .62fr);
    gap: clamp(48px, 6vw, 92px);
    align-items: end;
    margin-bottom: clamp(42px, 4vw, 60px);
}
.icl-home-section-head h2 { max-width: 860px; margin-bottom: 0; }
.icl-home-section-head h2 em { color: var(--icl-sage-interactive); font-style: italic; }
.icl-home-section-head > div:last-child > p { margin-bottom: 16px; color: var(--icl-muted); font-size: .88rem; }

/* Results: one cinematic lead case, supporting cases only when real content exists. */
.icl-home-results .icl-case-grid { grid-template-columns: minmax(0, 1.16fr) minmax(330px, .84fr); gap: 26px 42px; align-items: start; }
.icl-home-results .icl-case-card { border-top: 0; padding-top: 0; }
.icl-home-results .icl-case-card:first-child { grid-row: span 2; }
.icl-home-results .icl-case-card:first-child .icl-placeholder,
.icl-home-results .icl-case-card:first-child .icl-before-after { aspect-ratio: 4 / 3; }
.icl-home-results .icl-case-card:not(:first-child) { display: grid; grid-template-columns: minmax(140px,.72fr) minmax(190px,1.28fr); gap: 22px; align-items: center; padding: 0 0 24px; border-bottom: 1px solid var(--icl-border); }
.icl-home-results .icl-case-card:not(:first-child) .icl-placeholder,
.icl-home-results .icl-case-card:not(:first-child) .icl-before-after { aspect-ratio: 1 / 1; }
.icl-home-results .icl-case-card-copy { padding-top: 16px; }
.icl-home-results .icl-case-card:not(:first-child) .icl-case-card-copy { padding: 0; }
.icl-home-results .icl-results-disclaimer { margin-top: 26px; }
.icl-home-results .icl-case-grid:has(> .icl-case-card:only-child) { grid-template-columns: minmax(0, .9fr) minmax(280px, .42fr); }
.icl-home-results .icl-case-grid:has(> .icl-case-card:only-child)::after { content: "Los casos publicados aparecerán aquí una vez que cuenten con material clínico real y autorización."; align-self: center; max-width: 360px; color: var(--icl-muted); font-size: .82rem; line-height: 1.65; }

/* Combined method section replaces duplicated Procedure + Journey blocks. */
.icl-home-method { overflow: hidden; }
.icl-home-method-stage { display: grid; grid-template-columns: minmax(420px,.92fr) minmax(0,1.08fr); gap: clamp(48px, 6vw, 92px); align-items: stretch; }
.icl-home-method-art { position: relative; min-height: 520px; overflow: hidden; background: var(--icl-navy); color: var(--icl-warm); }
.icl-method-index { position: absolute; top: 30px; left: 34px; z-index: 2; color: #B8C6BF; font-family: var(--icl-serif); font-size: 2.4rem; font-style: italic; }
.icl-method-orbit { position: absolute; width: min(56%, 320px); aspect-ratio: 1; left: 50%; top: 50%; transform: translate(-50%,-50%); border: 1px solid rgba(248,247,243,.24); border-radius: 50%; }
.icl-method-orbit::before,
.icl-method-orbit::after,
.icl-method-orbit i { content: ""; position: absolute; inset: 17%; border: 1px solid rgba(248,247,243,.18); border-radius: 50%; }
.icl-method-orbit::after { inset: 37%; background: var(--icl-warm); border: 0; }
.icl-method-orbit i:nth-child(1) { inset: -22% 49%; border-radius: 0; border-top: 0; border-bottom: 0; }
.icl-method-orbit i:nth-child(2) { inset: 49% -22%; border-radius: 0; border-left: 0; border-right: 0; }
.icl-method-orbit i:nth-child(3) { inset: 7%; border-color: rgba(167,181,174,.40); }
.icl-home-method-art > p { position: absolute; left: 34px; right: 34px; bottom: 28px; margin: 0; color: #C8D0CC; font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; }
.icl-home-method-copy { display: flex; min-width: 0; flex-direction: column; justify-content: center; }
.icl-home-method-copy article {
    display: grid;
    width: 100%;
    min-width: 0;
    grid-template-columns: 58px minmax(0, 1fr);
    grid-template-areas:
        "number title"
        ". body";
    column-gap: 22px;
    row-gap: 7px;
    align-items: start;
    padding: 28px 0;
    border-top: 1px solid var(--icl-border);
}
.icl-home-method-copy article:last-of-type { border-bottom: 1px solid var(--icl-border); }
.icl-home-method-copy article > span {
    grid-area: number;
    color: var(--icl-sage-interactive);
    font-family: var(--icl-serif);
    font-size: 1.55rem;
    font-style: italic;
    line-height: 1;
}
.icl-home-method-copy article h3 {
    grid-area: title;
    min-width: 0;
    margin: 0;
    font-size: clamp(1.08rem, 1.25vw, 1.35rem);
    line-height: 1.2;
}
.icl-home-method-copy article p {
    grid-area: body;
    width: 100%;
    max-width: 40rem;
    min-width: 0;
    margin: 0;
    color: var(--icl-muted);
    font-size: .88rem;
    line-height: 1.7;
    word-break: normal;
    overflow-wrap: normal;
    hyphens: none;
}
.icl-home-method-copy > .icl-text-link { align-self: flex-start; margin-top: 30px; }

/* Clinics */
.icl-home-clinics .icl-clinic-grid { gap: clamp(20px, 2.4vw, 34px); }
.icl-home-clinics .icl-clinic-card { padding-top: 0; border-top: 0; }
.icl-home-clinics .icl-clinic-media { overflow: hidden; }
.icl-home-clinics .icl-clinic-media .icl-placeholder,
.icl-home-clinics .icl-clinic-media img { aspect-ratio: 16 / 10; }
.icl-home-clinics .icl-clinic-copy { margin-top: 10px; padding-top: 17px; border-top: 1px solid var(--icl-border); }
.icl-home-clinics .icl-clinic-copy p:not(.icl-eyebrow) { max-width: 34ch; }

/* Final conversion: dark, contained and decisive. */
.icl-home-final { padding: clamp(84px, 6.5vw, 116px) 0; }
.icl-home-final-grid { display: grid; grid-template-columns: minmax(0,.82fr) minmax(520px,1.18fr); gap: clamp(58px, 7vw, 104px); align-items: start; }
.icl-home-faq-preview { position: sticky; top: calc(var(--icl-header-h) + 34px); }
.icl-home-faq-preview h2 { max-width: 620px; font-size: clamp(2.75rem, 4vw, 4.4rem); }
.icl-home-faq-preview h2 em { color: #B8C6BF; font-style: italic; }
.icl-home-faq-preview .icl-faq { margin: 32px 0 28px; border-top-color: rgba(248,247,243,.18); }
.icl-home-faq-preview .icl-faq-item { border-bottom-color: rgba(248,247,243,.18); }
.icl-home-faq-preview .icl-faq-button { padding: 19px 0; color: var(--icl-warm); font-size: .86rem; }
.icl-home-faq-preview .icl-faq-panel .icl-prose p { color: #C8D0CC; }
.icl-home-valuation { padding: clamp(32px, 3.4vw, 48px); background: var(--icl-warm); color: var(--icl-navy); }
.icl-home-valuation-head { max-width: 610px; margin-bottom: 32px; }
.icl-home-valuation-head .icl-eyebrow { color: var(--icl-sage-interactive); }
.icl-home-valuation-head h2 { margin-bottom: 16px; color: var(--icl-navy); font-size: clamp(2.8rem, 4.2vw, 4.7rem); }
.icl-home-valuation-head > p:not(.icl-eyebrow) { color: var(--icl-muted); }
.icl-home-valuation .icl-valuation-panel { padding: 0; background: transparent; }
.icl-home-valuation .icl-valuation-fine { margin-top: 34px; color: var(--icl-muted); border-top-color: var(--icl-border); }

/* ---------------- Internal pages ---------------- */
.icl-page-hero { padding-top: clamp(78px, 7vw, 112px); padding-bottom: clamp(64px, 5.5vw, 92px); }
.icl-page-hero::after { right: 8px; bottom: 18px; opacity: .65; }
.icl-page-hero h1 { max-width: 980px; margin-bottom: 22px; font-size: clamp(3.6rem, 5vw, 5.7rem); }
.icl-page-lead { max-width: 720px; font-size: clamp(1rem, 1.18vw, 1.12rem); }
.icl-section-heading { margin-bottom: clamp(44px, 4vw, 62px); }
.icl-section-heading > p:not(.icl-eyebrow) { max-width: 690px; }
.icl-two-column { gap: clamp(48px, 6vw, 96px); }
.icl-info-grid article { min-height: 190px; padding: 26px 0; }
.icl-timeline li { padding: 25px 0; }

/* Results internal: clinical imagery should dominate, not placeholder copy. */
.icl-page-content .icl-case-grid { gap: 34px 26px; }
.icl-page-content .icl-case-card { border-top: 0; padding-top: 0; }
.icl-page-content .icl-case-card .icl-placeholder,
.icl-page-content .icl-case-card .icl-before-after { aspect-ratio: 1 / 1; }
.icl-page-content .icl-case-card-copy { padding-top: 14px; }
.icl-progression-demo { gap: 14px; }
.icl-progression-item .icl-placeholder { aspect-ratio: 1 / 1; }

/* FAQ */
.icl-faq-button { min-height: 62px; padding: 19px 0; font-size: .94rem; }
.icl-faq-panel { padding-bottom: 24px; }
.icl-faq-toolbar { margin-bottom: 58px; }

/* Forms: premium but explicitly usable. */
.icl-valuation-panel { padding: clamp(28px, 3.6vw, 48px); }
.icl-form-grid { gap: 22px 28px; }
.icl-form-grid input[type="text"],
.icl-form-grid input[type="email"],
.icl-form-grid input[type="tel"],
.icl-form-grid select,
.icl-form-grid textarea { min-height: 48px; font-size: .95rem; }
.icl-form-grid textarea { min-height: 106px; }

/* Footer: remove malformed legacy lockup and simplify. */
.icl-site-footer { padding-top: clamp(78px, 7vw, 104px); }
.icl-footer-intro { grid-template-columns: .28fr 1.72fr; gap: 56px; padding-bottom: 58px; }
.icl-footer-statement { max-width: 820px; font-size: clamp(1.9rem, 2.8vw, 3.15rem); }
.icl-footer-grid { grid-template-columns: 1.3fr .75fr .75fr .75fr; gap: clamp(32px, 4vw, 62px); padding-top: 54px; padding-bottom: 54px; }
.icl-footer-wordmark { margin-bottom: 24px; color: var(--icl-warm) !important; font-family: var(--icl-sans); font-size: 1.35rem !important; font-weight: 700; letter-spacing: .08em; }
.icl-footer-wordmark span { display: block; margin-top: 4px; color: #B8C6BF; font-size: .48em; font-weight: 500; letter-spacing: .28em; }
.icl-footer-brand > p { max-width: 360px; color: #C7CECB; font-size: .76rem; }

/* ---------------- Tablet ---------------- */
@media (max-width: 1120px) {
    .icl-container { width: min(calc(100% - 56px), 1380px); }
    .icl-header-inner { min-height: 78px; }
    .icl-brand .icl-default-logo { width: 168px; }
    .icl-menu { gap: 16px; }
    .icl-menu a, .icl-header-cta { font-size: .66rem; }

    .icl-hero-lux-grid { grid-template-columns: minmax(0,.9fr) minmax(440px,1.1fr); gap: 48px; min-height: 610px; }
    .icl-hero-lux h1 { font-size: clamp(3.8rem, 6vw, 5.5rem); }
    .icl-hero-collage { min-height: 540px; }
    .icl-hero-photo-main > .icl-placeholder { min-height: 515px; }

    .icl-home-method-stage { grid-template-columns: minmax(360px,.9fr) minmax(0,1.1fr); gap: 48px; }
    .icl-home-method-art { min-height: 460px; }
    .icl-home-final-grid { grid-template-columns: minmax(0,.76fr) minmax(480px,1.24fr); gap: 50px; }
}

/* ---------------- Mobile / small tablet ---------------- */
@media (max-width: 900px) {
    body.admin-bar .icl-site-header { top: 46px; }
    :root { --icl-header-h: 74px; }
    .icl-container { width: min(calc(100% - 40px), var(--icl-container)); }
    body { font-size: 16px; }

    .icl-header-inner { min-height: var(--icl-header-h); }
    .icl-brand .icl-default-logo { width: 148px; max-height: 48px; }
    .icl-menu-toggle { display: block; margin-right: -7px; }
    .icl-primary-nav {
        position: fixed;
        inset: calc(var(--icl-header-h) + 46px) 0 0;
        display: none;
        min-height: 0;
        padding: 34px 22px 42px;
        background: rgba(248,247,243,.99);
        flex-direction: column;
        align-items: stretch;
        gap: 24px;
        overflow-y: auto;
    }
    body:not(.admin-bar) .icl-primary-nav { inset: var(--icl-header-h) 0 0; }
    .icl-primary-nav.is-open { display: flex; }
    .icl-menu { flex-direction: column; align-items: stretch; gap: 0; }
    .icl-menu li { border-bottom: 1px solid var(--icl-border); }
    .icl-menu a { display: block; padding: 15px 0; font-family: var(--icl-serif); font-size: clamp(1.65rem, 6vw, 2.15rem); font-weight: 500; letter-spacing: -.03em; }
    .icl-menu a::after { display: none; }
    .icl-header-cta { justify-content: space-between; padding: 16px 0; border-left: 0; border-bottom: 1px solid var(--icl-navy); font-size: .72rem; }

    .icl-hero-lux { padding-top: 24px; }
    .icl-hero-lux-grid { grid-template-columns: 1fr; gap: 30px; min-height: auto; }
    .icl-hero-lux-copy { padding: 10px 0 0; }
    .icl-hero-lux h1 { max-width: 12ch; font-size: clamp(3.5rem, 10.5vw, 5.15rem); line-height: .94; }
    .icl-hero-lux h1 em { padding-left: 0; }
    .icl-hero-lux .icl-hero-lead,
    .icl-hero-lux .icl-hero-actions,
    .icl-hero-lux-foot { margin-left: 0; }
    .icl-hero-lux-foot { margin-top: 30px; }
    .icl-hero-collage { min-height: 0; margin-top: 4px; }
    .icl-hero-photo-main { position: relative; inset: auto; padding: 0; }
    .icl-hero-photo-main > .icl-placeholder { height: auto; min-height: 0; aspect-ratio: 5 / 6; }
    .icl-hero-photo-main figcaption { display: none; }
    .icl-hero-principle { margin-top: 0; padding: 28px 0 34px; }
    .icl-hero-principle p { max-width: 720px; font-size: clamp(1.55rem, 5.4vw, 2.15rem); }

    .icl-home-section-head,
    .icl-home-method-stage,
    .icl-home-final-grid { grid-template-columns: 1fr; gap: 34px; }
    .icl-home-section-head { margin-bottom: 38px; }
    .icl-home-section-head > div:last-child { max-width: 620px; }

    .icl-home-results .icl-case-grid,
    .icl-home-results .icl-case-grid:has(> .icl-case-card:only-child) { grid-template-columns: 1fr 1fr; gap: 32px 20px; }
    .icl-home-results .icl-case-grid:has(> .icl-case-card:only-child)::after { display: none; }
    .icl-home-results .icl-case-card:first-child { grid-column: 1 / -1; grid-row: auto; }
    .icl-home-results .icl-case-card:not(:first-child) { display: block; padding-bottom: 0; border-bottom: 0; }
    .icl-home-results .icl-case-card:not(:first-child) .icl-case-card-copy { padding-top: 14px; }

    .icl-home-method-art { min-height: 430px; }
    .icl-home-method-copy { padding-bottom: 4px; }
    .icl-home-faq-preview { position: static; }
    .icl-home-valuation { padding: 32px; }

    .icl-page-hero { padding-top: 66px; padding-bottom: 58px; }
    .icl-page-hero::after { display: none; }
    .icl-page-hero h1 { font-size: clamp(3.2rem, 10.5vw, 4.8rem); }
    .icl-section-heading-split,
    .icl-two-column,
    .icl-two-column-wide,
    .icl-two-column-form,
    .icl-results-intro,
    .icl-editorial-feature-grid,
    .icl-process-heading,
    .icl-safety-editorial,
    .icl-assessment-grid,
    .icl-video-stage,
    .icl-clinics-heading,
    .icl-international-grid,
    .icl-valuation-layout,
    .icl-footer-intro { grid-template-columns: 1fr; gap: 34px; }
    .icl-case-grid { grid-template-columns: 1fr 1fr; gap: 34px 20px; }
    .icl-case-card:first-child { grid-column: 1 / -1; grid-row: auto; }
    .icl-process-grid { grid-template-columns: repeat(2, 1fr); }
    .icl-clinic-grid { grid-template-columns: 1fr; gap: 40px; }
    .icl-valuation-intro { position: static; }
    .icl-footer-grid { grid-template-columns: 1fr 1fr 1fr; }
    .icl-footer-brand { grid-column: 1 / -1; }
}

/* ---------------- Phones ---------------- */
@media (max-width: 620px) {
    :root { --icl-header-h: 70px; }
    body.admin-bar .icl-site-header { top: 46px; }
    .icl-container { width: calc(100% - 32px); }
    .icl-section, .icl-page-section { padding-top: 68px; padding-bottom: 68px; }
    h2 { font-size: clamp(2.45rem, 10.5vw, 3.25rem); line-height: 1.02; }
    .icl-eyebrow { margin-bottom: 14px; font-size: .58rem; letter-spacing: .16em; }

    .icl-header-inner { min-height: var(--icl-header-h); }
    .icl-brand .icl-default-logo { width: 138px; max-height: 44px; }
    .icl-menu-toggle { width: 42px; height: 42px; }

    .icl-hero-lux { padding-top: 18px; }
    .icl-hero-lux-grid { gap: 24px; }
    .icl-hero-lux h1 {
        max-width: 100%;
        margin-bottom: 22px;
        font-size: clamp(2.9rem, 13.1vw, 3.75rem);
        line-height: .95;
    }
    .icl-hero-lux .icl-hero-lead { max-width: 34em; font-size: .91rem; line-height: 1.58; }
    .icl-hero-actions { flex-direction: row; align-items: center; gap: 18px; margin-top: 26px; }
    .icl-button-large { min-height: 52px; padding: 13px 20px; }
    .icl-hero-lux-foot { display: none; }

    /* Full-bleed clinical image gives mobile a premium, image-led rhythm. */
    .icl-hero-collage { width: 100vw; margin-left: calc(50% - 50vw); margin-top: 10px; }
    .icl-hero-photo-main > .icl-placeholder { aspect-ratio: 5 / 6; }
    .icl-hero-principle { padding: 26px 0 30px; }
    .icl-hero-principle p { font-size: clamp(1.45rem, 6.8vw, 1.9rem); line-height: 1.12; }

    .icl-home .icl-section { padding-top: 66px; padding-bottom: 66px; }
    .icl-home-section-head { gap: 20px; margin-bottom: 32px; }
    .icl-home-section-head h2 { font-size: clamp(2.4rem, 10.6vw, 3.15rem); }
    .icl-home-section-head > div:last-child > p { font-size: .83rem; }

    .icl-home-results .icl-case-grid,
    .icl-home-results .icl-case-grid:has(> .icl-case-card:only-child) { grid-template-columns: 1fr; gap: 34px; }
    .icl-home-results .icl-case-card:first-child .icl-placeholder,
    .icl-home-results .icl-case-card:first-child .icl-before-after,
    .icl-home-results .icl-case-card:not(:first-child) .icl-placeholder,
    .icl-home-results .icl-case-card:not(:first-child) .icl-before-after { aspect-ratio: 1 / 1; }
    .icl-home-results .icl-case-card-copy p:not(.icl-eyebrow) { font-size: .78rem; }

    .icl-home-method-stage { gap: 28px; }
    .icl-home-method-art { min-height: 350px; }
    .icl-method-index { top: 22px; left: 22px; font-size: 2rem; }
    .icl-home-method-art > p { left: 22px; right: 22px; bottom: 20px; font-size: .53rem; }
    .icl-home-method-copy article { grid-template-columns: 42px minmax(0, 1fr); column-gap: 14px; row-gap: 6px; padding: 20px 0; }
    .icl-home-method-copy article > span { font-size: 1.3rem; }
    .icl-home-method-copy article h3 { font-size: 1.05rem; }
    .icl-home-method-copy article p { max-width: 100%; font-size: .82rem; line-height: 1.62; }

    .icl-home-clinics .icl-clinic-grid { gap: 34px; }
    .icl-home-clinics .icl-clinic-media .icl-placeholder,
    .icl-home-clinics .icl-clinic-media img { aspect-ratio: 16 / 10; }

    .icl-home-final { padding: 66px 0; }
    .icl-home-final-grid { gap: 40px; }
    .icl-home-faq-preview h2 { font-size: clamp(2.4rem, 10.6vw, 3.15rem); }
    .icl-home-valuation { margin: 0; padding: 26px 18px 30px; }
    .icl-home-valuation-head { margin-bottom: 26px; }
    .icl-home-valuation-head h2 { font-size: clamp(2.55rem, 11vw, 3.3rem); }
    .icl-home-valuation .icl-valuation-panel { margin: 0; padding: 0; }

    .icl-page-hero { padding-top: 50px; padding-bottom: 48px; }
    .icl-page-hero h1 { max-width: 100%; margin-bottom: 18px; font-size: clamp(2.9rem, 12vw, 3.75rem); line-height: .96; }
    .icl-page-lead { font-size: .94rem; line-height: 1.58; }
    .icl-section-heading { margin-bottom: 38px; }
    .icl-section-heading h2 { font-size: clamp(2.4rem, 10.5vw, 3.15rem); }
    .icl-two-column { gap: 26px; }

    .icl-case-grid { grid-template-columns: 1fr; gap: 38px; }
    .icl-page-content .icl-case-card .icl-placeholder,
    .icl-page-content .icl-case-card .icl-before-after { aspect-ratio: 1 / 1; }
    .icl-progression-demo { grid-template-columns: repeat(3, minmax(78vw, 1fr)); overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 10px; }
    .icl-progression-item { scroll-snap-align: start; }

    .icl-process-grid { grid-template-columns: 1fr; }
    .icl-process-item,
    .icl-process-item + .icl-process-item { min-height: auto; padding: 24px 0 26px; border-right: 0; }
    .icl-step-number { margin-bottom: 20px; }
    .icl-info-grid { grid-template-columns: 1fr; }
    .icl-info-grid article { min-height: auto; padding: 22px 0; }
    .icl-timeline li { grid-template-columns: 48px 1fr; gap: 16px; padding: 22px 0; }

    .icl-form-grid { grid-template-columns: 1fr; gap: 18px; }
    .icl-valuation-panel { padding: 24px 18px; margin-inline: 0; }
    .icl-form-actions, .icl-form-actions-split { flex-direction: column-reverse; align-items: stretch; }
    .icl-form-actions .icl-button { width: 100%; }
    .icl-radio-row { flex-direction: column; gap: 9px; }

    .icl-footer-intro { gap: 18px; padding-bottom: 40px; }
    .icl-footer-statement { font-size: 2rem; }
    .icl-footer-grid { grid-template-columns: 1fr 1fr; gap: 34px 22px; padding-top: 40px; padding-bottom: 40px; }
    .icl-footer-brand { grid-column: 1 / -1; }
    .icl-footer-bottom { flex-direction: column; gap: 8px; }
}

@media (max-width: 390px) {
    .icl-container { width: calc(100% - 28px); }
    .icl-brand .icl-default-logo { width: 132px; }
    .icl-hero-lux h1 { font-size: clamp(2.72rem, 12.8vw, 3.35rem); }
    .icl-hero-actions { gap: 14px; }
    .icl-button-large { padding-inline: 17px; }
}


/* 1.3.1 stability guards: prevent intrinsic-content collapse in editorial grids. */
.icl-home-method-stage > *,
.icl-home-method-copy > *,
.icl-home-method-copy article > * { min-width: 0; }
.icl-home-method-copy article h3,
.icl-home-method-copy article p { max-inline-size: 100%; }

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* v1.3.3 — clinical case photography fidelity */
.icl-before-after-large {
    aspect-ratio: 3 / 2;
    background: #111726;
}
.icl-before-after-large .icl-ba-image img {
    object-fit: contain;
    background: #111726;
}
.icl-case-single-image {
    margin: 0 auto;
    max-width: 1180px;
    background: #111726;
}
.icl-case-single-image img {
    display: block;
    width: 100%;
    height: auto;
}
.icl-case-sequence {
    margin: 0 0 72px;
    padding-top: 58px;
    border-top: 1px solid var(--icl-border);
}
.icl-case-sequence-heading {
    display: grid;
    grid-template-columns: .32fr 1.68fr;
    gap: 54px;
    align-items: start;
    margin-bottom: 38px;
}
.icl-case-sequence-heading h2 { margin: 0; }
.icl-case-sequence-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 34px 24px;
}
.icl-case-sequence-item { margin: 0; min-width: 0; }
.icl-case-sequence-image {
    background: #111726;
    overflow: hidden;
}
.icl-case-sequence-image img {
    display: block;
    width: 100%;
    height: auto;
}
.icl-case-sequence-item figcaption {
    padding-top: 11px;
    border-top: 1px solid var(--icl-border);
    color: var(--icl-muted);
    font-size: .61rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

/* Preserve the complete clinical frame in result cards; do not crop iris photos. */
.icl-case-card .icl-ba-image img {
    object-fit: contain;
    background: #111726;
}

@media (max-width: 760px) {
    .icl-before-after-large { aspect-ratio: 3 / 2; }
    .icl-case-sequence { margin-bottom: 48px; padding-top: 42px; }
    .icl-case-sequence-heading { grid-template-columns: 1fr; gap: 10px; margin-bottom: 26px; }
    .icl-case-sequence-grid { grid-template-columns: 1fr; gap: 28px; }
}
/* Real clinical photography uses its natural landscape language rather than the placeholder crop. */
.icl-case-card .icl-before-after,
.icl-home-results .icl-case-card:first-child .icl-before-after,
.icl-home-results .icl-case-card:not(:first-child) .icl-before-after,
.icl-page-content .icl-case-card .icl-before-after {
    aspect-ratio: 3 / 2;
}

/* v1.3.4 — non-destructive clinical Before/After framing */
.icl-before-after {
    --icl-ba-position: 50%;
    isolation: isolate;
}
.icl-before-after .icl-ba-image img,
.icl-before-after-large .icl-ba-image img,
.icl-case-card .icl-ba-image img {
    object-fit: cover;
    object-position: var(--icl-frame-x, 50%) var(--icl-frame-y, 50%);
    transform: scale(var(--icl-frame-zoom, 1));
    transform-origin: var(--icl-frame-x, 50%) var(--icl-frame-y, 50%);
    background: #111726;
    will-change: transform;
}
.icl-before-after::after {
    content: "";
    position: absolute;
    z-index: 2;
    top: 0;
    bottom: 0;
    left: var(--icl-ba-position);
    width: 1px;
    background: rgba(248,247,243,.84);
    box-shadow: 0 0 0 1px rgba(36,44,67,.08);
    pointer-events: none;
    transform: translateX(-.5px);
}
.icl-before-after::before {
    content: "↔";
    position: absolute;
    z-index: 2;
    left: var(--icl-ba-position);
    top: 50%;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    border: 1px solid rgba(36,44,67,.14);
    background: rgba(248,247,243,.94);
    color: var(--icl-navy);
    font-family: var(--icl-sans);
    font-size: 14px;
    line-height: 1;
    box-shadow: 0 6px 24px rgba(17,23,38,.15);
    pointer-events: none;
    transform: translate(-50%,-50%);
}
@media (max-width: 760px) {
    .icl-before-after::before { width: 36px; height: 36px; font-size: 12px; }
}

/* v1.3.6 — clinical-case hierarchy refinement: single-line grade title, stronger case facts and revised clinical note */

/* Clinical photography only: 12px radius in Results/case components. */
.icl-case-card .icl-before-after,
.icl-case-single .icl-before-after,
.icl-case-single .icl-case-single-image,
.icl-case-single .icl-case-sequence-image {
    border-radius: 12px;
    overflow: hidden;
}

/* Case detail: place the clinical product in the first viewport. */
.icl-case-hero-section {
    padding: clamp(34px, 4.4vw, 64px) 0 clamp(44px, 5vw, 72px);
    border-bottom: 1px solid var(--icl-border);
}
.icl-case-hero-grid {
    display: grid;
    grid-template-columns: minmax(310px, .40fr) minmax(0, 1.60fr);
    grid-template-areas:
        "copy media"
        "facts media";
    column-gap: clamp(42px, 5.5vw, 88px);
    row-gap: 28px;
    align-items: start;
}
.icl-case-hero-copy { grid-area: copy; align-self: start; padding-top: 4px; }
.icl-case-hero-copy .icl-eyebrow { margin-bottom: 14px; }
.icl-case-hero-copy h1 {
    max-width: none;
    margin: 0;
    font-size: clamp(3.55rem, 4.6vw, 5.3rem);
    line-height: .94;
    white-space: nowrap;
}
.icl-case-hero-media { grid-area: media; min-width: 0; }
.icl-case-hero-media .icl-case-detail-media { margin: 0; }
.icl-case-hero-media .icl-before-after-large { width: 100%; margin: 0; aspect-ratio: 3 / 2; }
.icl-case-photo-disclaimer {
    max-width: 92ch;
    margin: 12px 0 0;
    color: var(--icl-muted);
    font-size: .69rem;
    line-height: 1.55;
}
.icl-case-hero-facts {
    grid-area: facts;
    grid-template-columns: 1fr;
    margin: 0;
    border-top: 1px solid var(--icl-border);
    border-bottom: 0;
}
.icl-case-hero-facts div,
.icl-case-hero-facts div + div {
    padding: 17px 0;
    border-right: 0;
    border-bottom: 1px solid var(--icl-border);
}
.icl-case-hero-facts div:last-child { border-bottom: 0; }
.icl-case-hero-facts dt { font-size: .69rem; letter-spacing: .12em; line-height: 1.35; }
.icl-case-hero-facts dd { margin-top: 8px; font-size: 1.30rem; line-height: 1.2; }
.icl-case-sequence-section { padding-top: clamp(48px, 5vw, 76px); padding-bottom: clamp(64px, 6vw, 92px); }
.icl-case-sequence { margin: 0; padding: 0; border-top: 0; }
.icl-case-sequence-grid { gap: clamp(18px, 2vw, 30px); }
.icl-case-sequence-item figcaption {
    margin-top: 10px;
    color: var(--icl-navy);
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .035em;
    line-height: 1.45;
}

/* Mobile navigation: make the open state a true viewport layer instead of a positioned child of the sticky glass header. */
@media (max-width: 900px) {
    .icl-site-header {
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
    }
    body.icl-menu-open { overflow: hidden; }
    body.icl-menu-open .icl-site-header {
        position: fixed;
        inset: 0 0 auto 0;
        width: 100%;
        height: 100dvh;
        min-height: 100svh;
        z-index: 100000;
        background: var(--icl-warm);
    }
    body.admin-bar.icl-menu-open .icl-site-header {
        top: 46px;
        height: calc(100dvh - 46px);
        min-height: calc(100svh - 46px);
    }
    .icl-menu-toggle { position: relative; z-index: 4; }
    .icl-primary-nav {
        position: absolute !important;
        inset: var(--icl-header-h) 0 0 0 !important;
        z-index: 3;
        display: flex !important;
        min-height: 0 !important;
        padding: 18px max(22px, calc((100vw - var(--icl-container)) / 2)) 38px !important;
        background: var(--icl-warm) !important;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 18px;
        overflow-y: auto;
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
        transform: translateY(-8px);
        transition: opacity .18s var(--icl-ease), transform .18s var(--icl-ease), visibility 0s linear .18s;
    }
    .icl-primary-nav.is-open {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        transform: none;
        transition-delay: 0s;
    }
    .icl-primary-nav .icl-menu { width: 100%; margin: 0; padding: 0; }
    .icl-primary-nav .icl-menu li { margin: 0; }
    .icl-primary-nav .icl-menu a {
        display: flex;
        align-items: center;
        min-height: 56px;
        padding: 11px 0;
        color: var(--icl-navy);
        font-family: var(--icl-serif);
        font-size: clamp(1.65rem, 7vw, 2.15rem);
        line-height: 1.02;
    }
    .icl-primary-nav .icl-header-cta {
        min-height: 54px;
        margin-top: 2px;
        color: var(--icl-navy);
    }

    .icl-case-hero-section { padding: 28px 0 42px; }
    .icl-case-hero-grid {
        grid-template-columns: 1fr;
        grid-template-areas:
            "copy"
            "media"
            "facts";
        gap: 20px;
    }
    .icl-case-hero-copy { padding-top: 0; }
    .icl-case-hero-copy .icl-eyebrow { margin-bottom: 9px; }
    .icl-case-hero-copy h1 {
        max-width: 100%;
        font-size: clamp(2.85rem, 11vw, 3.75rem);
        line-height: .96;
        white-space: nowrap;
    }
    .icl-case-hero-media .icl-before-after-large { aspect-ratio: 3 / 2; }
    .icl-case-photo-disclaimer { margin-top: 10px; font-size: .65rem; line-height: 1.5; }
    .icl-case-hero-facts { grid-template-columns: 1fr 1fr; gap: 0; }
    .icl-case-hero-facts div,
    .icl-case-hero-facts div + div { padding: 14px 12px 14px 0; border-bottom: 0; border-right: 1px solid var(--icl-border); }
    .icl-case-hero-facts div + div { padding-left: 14px; padding-right: 0; border-right: 0; }
    .icl-case-hero-facts dt { font-size: .66rem; }
    .icl-case-hero-facts dd { font-size: 1.18rem; }
    .icl-case-sequence-section { padding-top: 48px; }
}

@media (max-width: 620px) {
    .icl-primary-nav { padding-left: 20px !important; padding-right: 20px !important; }
    .icl-case-hero-section { padding-top: 24px; }
    .icl-case-hero-copy h1 { font-size: clamp(2.65rem, 11.5vw, 3.35rem); white-space: nowrap; }
    .icl-case-photo-disclaimer { font-size: .62rem; }
    .icl-case-hero-facts { grid-template-columns: 1fr; }
    .icl-case-hero-facts div,
    .icl-case-hero-facts div + div { padding: 12px 0; border-right: 0; border-bottom: 1px solid var(--icl-border); }
    .icl-case-hero-facts div:last-child { border-bottom: 0; }
}


/* v1.3.7 — optional studio / patient-shared photography inside clinical cases */
.icl-case-additional-section {
    padding-top: clamp(58px, 6vw, 92px);
    padding-bottom: clamp(66px, 7vw, 106px);
    border-top: 1px solid var(--icl-border);
}
.icl-case-additional-heading {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(280px, .55fr);
    gap: clamp(34px, 6vw, 92px);
    align-items: end;
    margin-bottom: clamp(30px, 4vw, 52px);
}
.icl-case-additional-heading h2 { margin: 0; }
.icl-case-additional-heading > p {
    max-width: 52ch;
    margin: 0 0 6px;
    color: var(--icl-muted);
    font-size: .93rem;
    line-height: 1.7;
}
.icl-case-additional-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(28px, 3vw, 46px);
    align-items: start;
}
.icl-case-additional-grid.icl-case-additional-count-1 {
    grid-template-columns: minmax(0, 980px);
    justify-content: center;
}
.icl-case-additional-item { margin: 0; min-width: 0; }
.icl-case-additional-image {
    overflow: hidden;
    border-radius: 12px;
    background: var(--icl-cream);
}
.icl-case-additional-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: var(--icl-additional-x, 50%) var(--icl-additional-y, 50%);
    transform: scale(var(--icl-additional-zoom, 1));
    transform-origin: var(--icl-additional-x, 50%) var(--icl-additional-y, 50%);
    will-change: transform;
}
.icl-case-additional-item figcaption {
    margin-top: 11px;
    color: var(--icl-navy);
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .035em;
    line-height: 1.5;
}
@media (max-width: 760px) {
    .icl-case-additional-section { padding-top: 48px; padding-bottom: 66px; }
    .icl-case-additional-heading { grid-template-columns: 1fr; gap: 13px; margin-bottom: 28px; }
    .icl-case-additional-heading > p { font-size: .86rem; line-height: 1.65; }
    .icl-case-additional-grid,
    .icl-case-additional-grid.icl-case-additional-count-1 { grid-template-columns: 1fr; gap: 30px; }
    .icl-case-additional-item figcaption { font-size: .70rem; }
}


/* v1.3.8 — non-destructive crop/zoom positioning for optional additional photography */
.icl-case-additional-image { position: relative; }

/* v1.4.0 — high-fidelity result delivery + editable Home imagery */
.icl-before-after .icl-ba-image img,
.icl-before-after-large .icl-ba-image img,
.icl-case-card .icl-ba-image img {
    will-change: auto;
    backface-visibility: visible;
}

.icl-hero-photo-main.has-real-image {
    background: var(--icl-cream);
    overflow: hidden;
}
.icl-hero-photo-main.has-real-image > img.icl-home-hero-real-image {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
}
.icl-home-method-art.has-real-image {
    min-height: 520px;
    background: var(--icl-navy);
}
.icl-home-method-art.has-real-image > img.icl-home-method-real-image {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 520px;
    object-fit: cover;
}
@media (max-width: 900px) {
    .icl-home-method-art.has-real-image,
    .icl-home-method-art.has-real-image > img.icl-home-method-real-image { min-height: 430px; }
}
@media (max-width: 760px) {
    .icl-home-method-art.has-real-image,
    .icl-home-method-art.has-real-image > img.icl-home-method-real-image { min-height: 350px; }
}


/* v1.4.2 — global photographic corner system
 * Every photograph rendered inside the public site content uses the same
 * 12px radius on all four corners, at every responsive breakpoint.
 * Brand assets live outside #main-content and are intentionally unaffected.
 */
#main-content img {
    border-radius: var(--icl-photo-radius) !important;
}

/* Clip media surfaces too, so zoomed/cropped images never escape the 12px corners. */
#main-content .icl-before-after,
#main-content .icl-before-after-large,
#main-content .icl-case-single-image,
#main-content .icl-case-sequence-image,
#main-content .icl-case-additional-image,
#main-content .icl-clinic-media,
#main-content .icl-hero-photo-main.has-real-image,
#main-content .icl-home-method-art.has-real-image {
    border-radius: var(--icl-photo-radius) !important;
    overflow: hidden;
}

/* v1.5.0 — structured content editor output */
.icl-managed-photo {
    margin: 0 0 28px;
    overflow: hidden;
    border-radius: 12px;
}
.icl-managed-photo img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 12px;
}
.icl-managed-photo-wide {
    margin-top: 28px;
}
.icl-progression-photo {
    margin: 0;
    aspect-ratio: 1 / 1;
}
.icl-progression-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
@media (max-width: 760px) {
    .icl-managed-photo { margin-bottom: 20px; }
}


/* v1.5.1 — universal non-destructive framing + optional photographic captions */
#main-content .icl-photo-frame-media,
#main-content .icl-clinic-feature-wrap,
#main-content .icl-clinic-media {
    overflow: hidden;
    border-radius: var(--icl-photo-radius);
}

#main-content .icl-photo-frame-media img,
#main-content img.icl-home-hero-real-image,
#main-content img.icl-home-method-real-image,
#main-content .icl-clinic-media img,
#main-content img.icl-clinic-feature-image {
    object-position: var(--icl-photo-x, 50%) var(--icl-photo-y, 50%);
    transform: scale(var(--icl-photo-zoom, 1));
    transform-origin: var(--icl-photo-x, 50%) var(--icl-photo-y, 50%);
}

#main-content .icl-photo-frame-media img,
#main-content .icl-clinic-media img,
#main-content img.icl-clinic-feature-image {
    display: block;
    width: 100%;
}

#main-content .icl-photo-caption {
    margin: 9px 0 0;
    color: var(--icl-muted);
    font-family: var(--icl-sans);
    font-size: .62rem;
    line-height: 1.5;
    letter-spacing: .06em;
}

#main-content .icl-managed-photo .icl-photo-caption,
#main-content .icl-clinic-photo-caption {
    padding-inline: 2px;
}

#main-content .icl-home-method-photo-caption {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 16px;
    z-index: 3;
    margin: 0;
    padding: 8px 10px;
    color: var(--icl-warm);
    background: rgba(29, 36, 55, .72);
    border-radius: 8px;
    backdrop-filter: blur(5px);
}

#main-content .icl-progression-photo .icl-photo-frame-media {
    height: 100%;
}
#main-content .icl-progression-photo .icl-photo-frame-media img {
    height: 100%;
    object-fit: cover;
}

@media (max-width: 760px) {
    #main-content .icl-photo-caption { font-size: .66rem; }
    #main-content .icl-home-method-photo-caption { left: 12px; right: 12px; bottom: 12px; }
}


/* Clinical sequence framing: Before/Result use comparator alignment;
 * intermediate controls use their own non-destructive crop editor. */
#main-content .icl-case-sequence-image img {
    object-position: var(--icl-photo-x, var(--icl-additional-x, 50%)) var(--icl-photo-y, var(--icl-additional-y, 50%));
    transform: scale(var(--icl-photo-zoom, var(--icl-additional-zoom, 1)));
    transform-origin: var(--icl-photo-x, var(--icl-additional-x, 50%)) var(--icl-photo-y, var(--icl-additional-y, 50%));
}
#main-content .icl-case-sequence-image[style*="aspect-ratio"] img {
    height: 100%;
    object-fit: cover;
}


/* v1.5.2 — mobile photographic fidelity
 * On phones, editorial/representative photographs are shown in their complete
 * native aspect ratio instead of being forced into desktop crop surfaces.
 * Clinical Before/After comparators remain intentionally framed/aligned.
 */
@media (max-width: 760px) {
    /* Home hero: full photograph, no crop or zoom on mobile. */
    #main-content .icl-hero-photo-main.has-real-image {
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: auto !important;
        background: transparent;
    }
    #main-content .icl-hero-photo-main.has-real-image > img.icl-home-hero-real-image {
        display: block;
        width: 100%;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: auto !important;
        object-fit: contain !important;
        object-position: center center !important;
        transform: none !important;
    }

    /* Home procedure/editorial photograph: preserve the entire frame. */
    #main-content .icl-home-method-art.has-real-image {
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: auto !important;
        background: transparent;
    }
    #main-content .icl-home-method-art.has-real-image > img.icl-home-method-real-image {
        display: block;
        width: 100%;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: auto !important;
        object-fit: contain !important;
        object-position: center center !important;
        transform: none !important;
    }

    /* Structured editorial photos on internal pages: show the complete image. */
    #main-content .icl-managed-photo .icl-photo-frame-media,
    #main-content .icl-managed-photo-wide .icl-photo-frame-media {
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: auto !important;
        background: transparent;
    }
    #main-content .icl-managed-photo .icl-photo-frame-media > img,
    #main-content .icl-managed-photo-wide .icl-photo-frame-media > img {
        display: block;
        width: 100%;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: auto !important;
        object-fit: contain !important;
        object-position: center center !important;
        transform: none !important;
    }

    /* Clinic representative photographs also preserve the full image on phones. */
    #main-content .icl-clinic-media,
    #main-content .icl-clinic-feature-wrap {
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: auto !important;
        background: transparent;
    }
    #main-content .icl-clinic-media img,
    #main-content img.icl-clinic-feature-image {
        display: block;
        width: 100%;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: auto !important;
        object-fit: contain !important;
        object-position: center center !important;
        transform: none !important;
    }
}


/* v1.5.3 — Home treatment objectives
 * Mirrors the Procedure/Candidacy/Safety editorial system while reversing the
 * media/copy direction on desktop to preserve visual rhythm.
 */
.icl-home-objectives { overflow: hidden; }
.icl-home-objectives-stage {
    grid-template-columns: minmax(0,1.08fr) minmax(420px,.92fr);
}
.icl-home-objectives-copy { order: 1; }
.icl-home-objectives-art { order: 2; }
.icl-home-objectives-art.has-real-image {
    min-height: 520px;
    background: var(--icl-navy);
}
.icl-home-objectives-art.has-real-image > img.icl-home-objectives-real-image {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 520px;
    object-fit: cover;
    object-position: var(--icl-photo-x, 50%) var(--icl-photo-y, 50%);
    transform: scale(var(--icl-photo-zoom, 1));
    transform-origin: var(--icl-photo-x, 50%) var(--icl-photo-y, 50%);
    border-radius: var(--icl-photo-radius);
}
#main-content .icl-home-objectives-art.has-real-image {
    border-radius: var(--icl-photo-radius) !important;
    overflow: hidden;
}
@media (max-width: 900px) {
    .icl-home-objectives-stage { grid-template-columns: 1fr; gap: 34px; }
    .icl-home-objectives-copy { order: 1; }
    .icl-home-objectives-art { order: 2; }
    .icl-home-objectives-art.has-real-image,
    .icl-home-objectives-art.has-real-image > img.icl-home-objectives-real-image { min-height: 430px; }
}
@media (max-width: 760px) {
    .icl-home-objectives-stage { gap: 28px; }
    #main-content .icl-home-objectives-art.has-real-image {
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: auto !important;
        background: transparent;
    }
    #main-content .icl-home-objectives-art.has-real-image > img.icl-home-objectives-real-image {
        display: block;
        width: 100%;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: auto !important;
        object-fit: contain !important;
        object-position: center center !important;
        transform: none !important;
    }
}


/* v1.5.4 — clearer home-section separation + uniform Results archive cards */
.icl-home-results.icl-bg-cream {
    position: relative;
}
.icl-home-results.icl-bg-cream .icl-container {
    position: relative;
}

/* Results archive / internal clinical lists: keep every card visually uniform. */
.icl-page-content .icl-case-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px 28px;
    align-items: start;
}
.icl-page-content .icl-case-card,
.icl-page-content .icl-case-card:first-child {
    grid-column: auto;
    grid-row: auto;
}
.icl-page-content .icl-case-card .icl-placeholder,
.icl-page-content .icl-case-card .icl-before-after,
.icl-page-content .icl-case-card:first-child .icl-placeholder,
.icl-page-content .icl-case-card:first-child .icl-before-after {
    aspect-ratio: 3 / 2;
}

@media (max-width: 760px) {
    .icl-home-results.icl-bg-cream {
        padding-top: 54px;
        padding-bottom: 54px;
    }
    .icl-page-content .icl-case-grid {
        grid-template-columns: 1fr;
        gap: 34px;
    }
}


/* v1.5.5 — Results archive: every clinical case has equal visual priority.
 * The shortcode now emits .icl-case-grid-uniform outside the Home, so this
 * mode is structural rather than a fragile first-child override. */
.icl-case-grid-uniform {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: auto;
    gap: 42px 30px;
    align-items: start;
}
.icl-case-grid-uniform > .icl-case-card,
.icl-case-grid-uniform > .icl-case-card:first-child,
.icl-case-grid-uniform > .icl-case-card:nth-child(n) {
    display: block;
    grid-column: auto !important;
    grid-row: auto !important;
    width: auto;
    min-width: 0;
    margin: 0;
    padding-top: 0;
    border-top: 0;
}
.icl-case-grid-uniform > .icl-case-card .icl-case-media,
.icl-case-grid-uniform > .icl-case-card:first-child .icl-case-media,
.icl-case-grid-uniform > .icl-case-card:nth-child(n) .icl-case-media {
    width: 100%;
}
.icl-case-grid-uniform > .icl-case-card .icl-before-after,
.icl-case-grid-uniform > .icl-case-card .icl-placeholder,
.icl-case-grid-uniform > .icl-case-card:first-child .icl-before-after,
.icl-case-grid-uniform > .icl-case-card:first-child .icl-placeholder,
.icl-case-grid-uniform > .icl-case-card:nth-child(n) .icl-before-after,
.icl-case-grid-uniform > .icl-case-card:nth-child(n) .icl-placeholder {
    width: 100%;
    aspect-ratio: 3 / 2 !important;
    min-height: 0;
}
.icl-case-grid-uniform > .icl-case-card .icl-case-card-copy,
.icl-case-grid-uniform > .icl-case-card:first-child .icl-case-card-copy,
.icl-case-grid-uniform > .icl-case-card:nth-child(n) .icl-case-card-copy {
    padding-top: 14px;
}

@media (max-width: 900px) {
    .icl-case-grid-uniform {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 34px 20px;
    }
}
@media (max-width: 620px) {
    .icl-case-grid-uniform {
        grid-template-columns: 1fr;
        gap: 38px;
    }
}


/* v1.5.6 — cache-safe final guard for the Results archive.
 * No visual change beyond enforcing equal case sizes outside the Home. */
#main-content .icl-case-grid-uniform {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-flow: row;
    grid-auto-rows: auto;
    align-items: start;
}
#main-content .icl-case-grid-uniform > .icl-case-card:nth-child(n) {
    grid-column: auto !important;
    grid-row: auto !important;
}
#main-content .icl-case-grid-uniform > .icl-case-card:nth-child(n) .icl-before-after,
#main-content .icl-case-grid-uniform > .icl-case-card:nth-child(n) .icl-placeholder {
    width: 100%;
    aspect-ratio: 3 / 2 !important;
}
@media (max-width: 620px) {
    #main-content .icl-case-grid-uniform {
        grid-template-columns: 1fr;
    }
}

/* v1.5.7 — Procedimiento / 02 Anatomía: two-image editorial collage */
.icl-anatomy-section {
    overflow: hidden;
}
.icl-anatomy-layout {
    display: grid;
    grid-template-columns: minmax(0, .94fr) minmax(520px, 1.06fr);
    gap: clamp(56px, 6vw, 108px);
    align-items: center;
}
.icl-anatomy-copy {
    align-self: center;
}
.icl-anatomy-copy h2 {
    max-width: 760px;
    margin-bottom: 28px;
}
.icl-anatomy-copy > p:not(.icl-eyebrow) {
    max-width: 760px;
    color: var(--icl-text);
    font-size: clamp(1rem, 1.12vw, 1.12rem);
    line-height: 1.85;
}
.icl-anatomy-collage {
    position: relative;
    min-width: 0;
    padding-bottom: clamp(34px, 3vw, 52px);
}
.icl-anatomy-photo {
    margin: 0;
    background: var(--icl-warm);
}
.icl-anatomy-photo-main {
    width: 100%;
}
.icl-anatomy-photo-main .icl-photo-frame-media,
.icl-anatomy-photo-main > .icl-placeholder {
    aspect-ratio: 16 / 10;
}
.icl-anatomy-photo-main .icl-photo-frame-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.icl-anatomy-photo-main > .icl-photo-caption {
    min-height: 28px;
    margin-top: 12px;
    padding-inline: 38%;
    text-align: center;
}
.icl-anatomy-photo-detail {
    position: absolute;
    z-index: 3;
    left: 4.5%;
    bottom: 0;
    width: clamp(180px, 34%, 270px);
    padding: 0 0 10px;
    background: var(--icl-warm);
    border: 1px solid rgba(36,44,67,.16);
    box-shadow: 0 18px 46px rgba(36,44,67,.10);
}
.icl-anatomy-photo-detail .icl-photo-frame-media,
.icl-anatomy-photo-detail > .icl-placeholder {
    aspect-ratio: 4 / 3;
}
.icl-anatomy-photo-detail .icl-photo-frame-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.icl-anatomy-photo-detail > .icl-photo-caption {
    margin: 8px 12px 0;
    padding: 0;
    line-height: 1.45;
}
.icl-anatomy-placeholder .icl-placeholder {
    min-height: 0;
    height: 100%;
}

@media (max-width: 980px) {
    .icl-anatomy-layout {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .icl-anatomy-collage {
        max-width: 760px;
        width: 100%;
        margin-inline: auto;
    }
}

@media (max-width: 760px) {
    .icl-anatomy-layout {
        gap: 28px;
    }
    .icl-anatomy-copy h2 {
        margin-bottom: 20px;
    }
    .icl-anatomy-collage {
        display: grid;
        grid-template-columns: 1fr;
        gap: 18px;
        padding-bottom: 0;
    }
    .icl-anatomy-photo-main,
    .icl-anatomy-photo-detail {
        position: static;
        width: 100%;
        transform: none;
        box-shadow: none;
    }
    .icl-anatomy-photo-main .icl-photo-frame-media,
    .icl-anatomy-photo-detail .icl-photo-frame-media,
    .icl-anatomy-photo-main > .icl-placeholder,
    .icl-anatomy-photo-detail > .icl-placeholder {
        height: auto !important;
        aspect-ratio: auto !important;
    }
    .icl-anatomy-photo-main .icl-photo-frame-media img,
    .icl-anatomy-photo-detail .icl-photo-frame-media img {
        display: block;
        width: 100%;
        height: auto !important;
        object-fit: contain !important;
        object-position: center !important;
        transform: none !important;
    }
    .icl-anatomy-photo-main > .icl-photo-caption,
    .icl-anatomy-photo-detail > .icl-photo-caption {
        min-height: 0;
        margin: 8px 2px 0;
        padding: 0;
        text-align: left;
    }
}


/* v1.5.8 — Anatomy captions + mobile rhythm consolidation */
/* Anatomy: captions are part of the composition, not hidden metadata. */
#main-content .icl-anatomy-photo-main > .icl-photo-caption {
    min-height: 0;
    margin: 11px 2px 0 42%;
    padding: 0;
    text-align: right;
    line-height: 1.5;
}
#main-content .icl-anatomy-photo-detail > .icl-photo-caption {
    margin: 8px 12px 0;
    padding: 0;
    text-align: left;
    line-height: 1.45;
}

/* Mobile: tighten only the Objectives and Procedure blocks around their media.
 * Other Home sections keep their existing spacing. */
@media (max-width: 760px) {
    #main-content .icl-home-objectives.icl-section {
        padding-top: 52px;
        padding-bottom: 30px;
    }
    #main-content .icl-home-objectives .icl-home-section-head {
        margin-bottom: 26px;
    }
    #main-content .icl-home-objectives-stage {
        gap: 18px;
    }
    #main-content .icl-home-objectives-art.has-real-image {
        margin: 0;
    }

    #main-content .icl-home-method.icl-section {
        padding-top: 34px;
        padding-bottom: 48px;
    }
    #main-content .icl-home-method .icl-home-section-head {
        margin-bottom: 24px;
    }
    #main-content .icl-home-method-stage {
        gap: 18px;
    }
    #main-content .icl-home-method-art.has-real-image {
        margin: 0;
    }

    /* Preserve requested caption alignment when Anatomy stacks on phones. */
    #main-content .icl-anatomy-photo-main > .icl-photo-caption {
        margin: 8px 2px 0;
        text-align: right;
    }
    #main-content .icl-anatomy-photo-detail > .icl-photo-caption {
        margin: 8px 2px 0;
        text-align: left;
    }
}


/* v1.5.9 — definitive mobile rhythm fix for Objectives + Procedure media
 * Use a simple flex flow on phones so legacy min-heights/grid stretching cannot
 * reserve hundreds of pixels around short landscape photographs. Desktop is untouched.
 */
@media (max-width: 760px) {
    #main-content .icl-home-objectives.icl-section,
    #main-content .icl-home-method.icl-section {
        padding-top: 44px !important;
        padding-bottom: 44px !important;
        min-height: 0 !important;
        height: auto !important;
    }

    #main-content .icl-home-objectives .icl-home-section-head,
    #main-content .icl-home-method .icl-home-section-head {
        margin-bottom: 20px !important;
    }

    #main-content .icl-home-objectives-stage,
    #main-content .icl-home-method-stage {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 16px !important;
        min-height: 0 !important;
        height: auto !important;
        grid-template-columns: none !important;
        grid-template-rows: none !important;
    }

    #main-content .icl-home-objectives-copy,
    #main-content .icl-home-method-copy {
        min-height: 0 !important;
        height: auto !important;
        padding-bottom: 0 !important;
        align-self: stretch !important;
        flex: 0 0 auto !important;
    }

    #main-content .icl-home-objectives-art,
    #main-content .icl-home-objectives-art.has-real-image,
    #main-content .icl-home-method-art,
    #main-content .icl-home-method-art.has-real-image {
        position: relative !important;
        display: block !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        align-self: flex-start !important;
        flex: 0 0 auto !important;
        aspect-ratio: auto !important;
    }

    #main-content .icl-home-objectives-art.has-real-image > img.icl-home-objectives-real-image,
    #main-content .icl-home-method-art.has-real-image > img.icl-home-method-real-image {
        position: static !important;
        display: block !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        object-fit: contain !important;
        object-position: center center !important;
        transform: none !important;
        aspect-ratio: auto !important;
    }

    /* Objectives: copy first, photograph immediately after it. */
    #main-content .icl-home-objectives-copy { order: 1 !important; }
    #main-content .icl-home-objectives-art { order: 2 !important; }

    /* Procedure: photograph first, copy immediately after it. */
    #main-content .icl-home-method-art { order: 1 !important; }
    #main-content .icl-home-method-copy { order: 2 !important; }

    #main-content .icl-home-objectives-art + *,
    #main-content .icl-home-method-art + * {
        margin-top: 0 !important;
    }
}


/* v1.6.0 — mobile Home media rhythm: remove intermediate layout boxes completely.
 * On phones the two editorial sections are flattened into one explicit vertical flow.
 * This prevents any legacy grid/flex track, min-height or alignment rule from reserving
 * viewport-sized whitespace between the section copy and its photograph.
 */
@media (max-width: 760px) {
    #main-content .icl-home-objectives > .icl-container,
    #main-content .icl-home-method > .icl-container {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        min-height: 0 !important;
        height: auto !important;
    }

    #main-content .icl-home-objectives-stage,
    #main-content .icl-home-method-stage {
        display: contents !important;
    }

    #main-content .icl-home-objectives .icl-home-section-head,
    #main-content .icl-home-method .icl-home-section-head {
        order: 1 !important;
        margin: 0 0 18px !important;
        min-height: 0 !important;
        height: auto !important;
    }

    /* Preserve the visible mobile order already used by the site: heading → image → details. */
    #main-content .icl-home-objectives-art,
    #main-content .icl-home-method-art {
        order: 2 !important;
        position: relative !important;
        inset: auto !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 0 20px !important;
        padding: 0 !important;
        align-self: stretch !important;
    }

    #main-content .icl-home-objectives-copy,
    #main-content .icl-home-method-copy {
        order: 3 !important;
        position: static !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        align-self: stretch !important;
    }

    #main-content .icl-home-objectives-art.has-real-image > img.icl-home-objectives-real-image,
    #main-content .icl-home-method-art.has-real-image > img.icl-home-method-real-image {
        position: static !important;
        inset: auto !important;
        display: block !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        object-fit: contain !important;
        object-position: center center !important;
        transform: none !important;
        aspect-ratio: auto !important;
    }

    #main-content .icl-home-objectives.icl-section,
    #main-content .icl-home-method.icl-section {
        min-height: 0 !important;
        height: auto !important;
        padding-top: 38px !important;
        padding-bottom: 38px !important;
    }

    #main-content .icl-home-objectives-copy article:first-child,
    #main-content .icl-home-method-copy article:first-child {
        margin-top: 0 !important;
    }

    #main-content .icl-home-objectives-copy article:last-of-type,
    #main-content .icl-home-method-copy article:last-of-type {
        margin-bottom: 0 !important;
    }
}

/* v1.6.0 — breakpoint-aligned mobile/tablet media rhythm fix.
 * Root cause: the <=900px tablet rules kept a 430px min-height on the
 * Objectives and Procedure media surfaces, while earlier resets only ran
 * below 760px. Some mobile browser viewports therefore retained the empty
 * 430px media track. Use the same <=900px breakpoint as the mobile nav and
 * explicitly return real editorial photography to intrinsic height.
 */
@media (max-width: 900px) {
    #main-content .icl-home-objectives .icl-home-section-head,
    #main-content .icl-home-method .icl-home-section-head {
        margin-bottom: 20px !important;
    }

    #main-content .icl-home-objectives-stage,
    #main-content .icl-home-method-stage {
        gap: 20px !important;
        min-height: 0 !important;
        height: auto !important;
        align-items: start !important;
    }

    #main-content .icl-home-objectives-art.has-real-image,
    #main-content .icl-home-method-art.has-real-image {
        min-height: 0 !important;
        height: auto !important;
        max-height: none !important;
        aspect-ratio: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        align-self: start !important;
        background: transparent !important;
    }

    #main-content .icl-home-objectives-art.has-real-image > img.icl-home-objectives-real-image,
    #main-content .icl-home-method-art.has-real-image > img.icl-home-method-real-image {
        position: static !important;
        display: block !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        aspect-ratio: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        object-fit: contain !important;
        object-position: center center !important;
        transform: none !important;
    }

    #main-content .icl-home-objectives-copy,
    #main-content .icl-home-method-copy {
        min-height: 0 !important;
        height: auto !important;
    }
}


/* ==========================================================
   ICL 1.8.0 — Visual conversion redesign for INTERNAL pages.
   Home intentionally untouched.
   ========================================================== */
.icl-internal-page .icl-page-hero-conversion {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 56px;
    align-items: end;
}
.icl-internal-page .icl-page-hero-conversion > .icl-eyebrow,
.icl-internal-page .icl-page-hero-conversion > h1,
.icl-internal-page .icl-page-hero-conversion > .icl-page-lead { grid-column: 1; }
.icl-internal-page .icl-page-hero-actions {
    grid-column: 2;
    grid-row: 2 / span 2;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-self: end;
    padding-bottom: 4px;
}
.icl-internal-page .icl-page-hero-conversion .icl-page-lead {
    max-width: 700px;
    margin-bottom: 0;
}
.icl-internal-page .icl-page-section {
    padding-top: clamp(68px, 5.5vw, 96px);
    padding-bottom: clamp(68px, 5.5vw, 96px);
}
.icl-internal-page .icl-conversion-layout > .icl-page-section:first-child {
    padding-top: clamp(54px, 4.5vw, 78px);
}
.icl-internal-page .icl-conversion-heading {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(300px, .75fr);
    gap: clamp(44px, 7vw, 110px);
    align-items: end;
    margin-bottom: clamp(34px, 3vw, 50px);
}
.icl-internal-page .icl-conversion-heading h2 { margin-bottom: 0; }
.icl-internal-page .icl-conversion-heading > div:last-child > p:first-child { margin-top: 0; }
.icl-internal-page .icl-conversion-heading .icl-prose p:last-child { margin-bottom: 0; }
.icl-internal-page .icl-heading-compact { margin-bottom: 38px; }

.icl-internal-page .icl-visual-grid {
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
    gap: clamp(48px, 7vw, 112px);
    align-items: center;
}
.icl-internal-page .icl-visual-section-reverse .icl-visual-copy { order: 2; }
.icl-internal-page .icl-visual-section-reverse .icl-visual-media { order: 1; }
.icl-internal-page .icl-visual-copy .icl-prose { max-width: 590px; }
.icl-internal-page .icl-visual-copy .icl-prose p { font-size: clamp(1rem, 1.08vw, 1.16rem); line-height: 1.72; }
.icl-internal-page .icl-visual-media .icl-managed-photo,
.icl-internal-page .icl-visual-media > figure,
.icl-internal-page .icl-visual-media > img { width: 100%; }
.icl-internal-page .icl-visual-media .icl-managed-photo img { min-height: clamp(360px, 38vw, 620px); object-fit: cover; }

.icl-internal-page .icl-process-compact .icl-process-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.icl-internal-page .icl-process-compact .icl-process-item {
    min-height: 210px;
    padding: 26px 24px 24px 0;
}
.icl-internal-page .icl-process-compact .icl-process-item p { max-width: 245px; }
.icl-internal-page .icl-studies-list {
    display: grid;
    gap: 0;
    margin-top: 24px;
    border-top: 1px solid var(--icl-border);
}
.icl-internal-page .icl-studies-list li { padding: 13px 0; border-bottom: 1px solid var(--icl-border); }

.icl-internal-page .icl-session-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    gap: clamp(42px, 6vw, 86px);
    align-items: start;
}
.icl-internal-page .icl-session-grid .icl-managed-photo { margin: 0; }
.icl-internal-page .icl-session-grid .icl-timeline { margin-top: 0; }
.icl-internal-page .icl-session-grid .icl-timeline li { grid-template-columns: 50px 1fr; padding: 18px 0; gap: 14px; }
.icl-internal-page .icl-session-grid .icl-timeline li > span { font-size: 1.35rem; }
.icl-internal-page .icl-session-grid .icl-timeline p { font-size: .96rem; }

.icl-internal-page .icl-protocol-grid {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: clamp(50px, 8vw, 130px);
    align-items: start;
}
.icl-internal-page .icl-protocol-grid .icl-prose { max-width: 690px; }

.icl-internal-page .icl-conversion-results { background: var(--icl-warm-white); }
.icl-internal-page .icl-conversion-results .icl-case-grid-uniform {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}
.icl-internal-page .icl-conversion-results .icl-case-card .icl-before-after,
.icl-internal-page .icl-conversion-results .icl-case-card .icl-placeholder { aspect-ratio: 4 / 3; }
.icl-internal-page .icl-conversion-results .icl-case-card-copy h3 { font-size: 1.2rem; }
.icl-internal-page .icl-conversion-results .icl-case-card-copy { padding-top: 12px; }

.icl-internal-page .icl-expectations-section { border-top: 1px solid var(--icl-border); border-bottom: 1px solid var(--icl-border); }
.icl-internal-page .icl-safety-teaser .icl-conversion-heading { margin-bottom: 0; }
.icl-internal-page .icl-faq-preview .icl-faq { max-width: 900px; }

.icl-internal-page-resultados .icl-results-primary { padding-top: 42px; }
.icl-internal-page-resultados .icl-results-primary .icl-case-grid-uniform {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 34px 24px;
}
.icl-internal-page-resultados .icl-results-primary .icl-case-card .icl-before-after,
.icl-internal-page-resultados .icl-results-primary .icl-case-card .icl-placeholder { aspect-ratio: 4 / 3; }
.icl-internal-page-resultados .icl-case-card-copy h3 { font-size: 1.16rem; }
.icl-internal-page-resultados .icl-case-card-copy .icl-eyebrow { margin-bottom: 7px; }
.icl-internal-page-resultados .icl-progress-visual { border-top: 1px solid var(--icl-border); }

.icl-internal-page .icl-evaluation-visual .icl-info-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    border-top: 1px solid var(--icl-border);
}
.icl-internal-page .icl-evaluation-visual .icl-info-grid article {
    min-height: 210px;
    padding: 26px 24px 24px 0;
    border-right: 1px solid var(--icl-border);
}
.icl-internal-page .icl-evaluation-visual .icl-info-grid article:last-child { border-right: 0; }
.icl-internal-page .icl-card-index {
    display: block;
    margin-bottom: 36px;
    font-family: var(--icl-serif);
    font-style: italic;
    color: var(--icl-sage-interactive);
    font-size: 1.3rem;
}
.icl-internal-page .icl-criteria-visual { border-bottom: 1px solid var(--icl-border); }
.icl-internal-page .icl-followup-visual .icl-conversion-heading { margin-bottom: 0; }

.icl-internal-page .icl-faq-image-lead { padding-bottom: 22px; }
.icl-internal-page .icl-faq-image-lead .icl-managed-photo img { max-height: 560px; object-fit: cover; }
.icl-internal-page .icl-faq-library { padding-top: 44px; }
.icl-internal-page .icl-faq-library .icl-faq-toolbar { margin: 0; max-width: none; }
.icl-internal-page .icl-faq-library .icl-faq { max-width: 980px; }
.icl-internal-page .icl-faq-item { border-color: rgba(36,44,67,.14); }
.icl-internal-page .icl-faq-button { padding-top: 19px; padding-bottom: 19px; }
.icl-internal-page .icl-faq-panel .icl-prose { max-width: 760px; }
.icl-internal-page .icl-faq-panel .icl-prose p { font-size: 1rem; line-height: 1.65; }

.icl-internal-page .icl-clinics-primary .icl-clinic-grid { margin-top: 18px; }
.icl-internal-page .icl-contact-form-visual { align-items: start; }
.icl-internal-page .icl-contact-form-visual > div:first-child .icl-managed-photo { margin-top: 30px; }

.icl-internal-page .icl-valuation-steps {
    display: grid;
    gap: 0;
    margin-top: 30px;
    border-top: 1px solid var(--icl-border);
}
.icl-internal-page .icl-valuation-steps span { padding: 13px 0; border-bottom: 1px solid var(--icl-border); }
.icl-internal-page .icl-valuation-steps strong { display: inline-block; min-width: 42px; color: var(--icl-sage-interactive); }

.icl-internal-page .icl-conversion-cta {
    background: var(--icl-navy);
    color: var(--icl-warm-white);
    padding-top: 58px;
    padding-bottom: 58px;
}
.icl-internal-page .icl-conversion-cta-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 48px;
    align-items: center;
}
.icl-internal-page .icl-conversion-cta .icl-eyebrow { color: #B8C8C0; }
.icl-internal-page .icl-conversion-cta h2 { color: var(--icl-warm-white); margin-bottom: 8px; }
.icl-internal-page .icl-conversion-cta p { color: #D8DDDA; margin-bottom: 0; max-width: 720px; }
.icl-internal-page .icl-button-light { background: var(--icl-warm-white); color: var(--icl-navy); border-color: var(--icl-warm-white); }

@media (max-width: 1100px) {
    .icl-internal-page .icl-page-hero-conversion { grid-template-columns: 1fr; }
    .icl-internal-page .icl-page-hero-actions { grid-column: 1; grid-row: auto; margin-top: 26px; }
    .icl-internal-page .icl-visual-grid,
    .icl-internal-page .icl-session-grid,
    .icl-internal-page .icl-protocol-grid,
    .icl-internal-page .icl-conversion-heading { gap: 42px; }
    .icl-internal-page .icl-evaluation-visual .icl-info-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .icl-internal-page .icl-evaluation-visual .icl-info-grid article:nth-child(2) { border-right: 0; }
}

@media (max-width: 900px) {
    .icl-internal-page .icl-page-section { padding-top: 58px; padding-bottom: 58px; }
    .icl-internal-page .icl-visual-grid,
    .icl-internal-page .icl-session-grid,
    .icl-internal-page .icl-protocol-grid,
    .icl-internal-page .icl-conversion-heading { grid-template-columns: 1fr; }
    .icl-internal-page .icl-visual-section-reverse .icl-visual-copy,
    .icl-internal-page .icl-visual-section-reverse .icl-visual-media { order: initial; }
    .icl-internal-page .icl-visual-media .icl-managed-photo img { min-height: 0; height: auto; object-fit: contain; }
    .icl-internal-page .icl-process-compact .icl-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .icl-internal-page .icl-conversion-results .icl-case-grid-uniform,
    .icl-internal-page-resultados .icl-results-primary .icl-case-grid-uniform { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .icl-internal-page .icl-conversion-cta-inner { grid-template-columns: 1fr; gap: 24px; }
}

@media (max-width: 620px) {
    .icl-internal-page .icl-page-hero-conversion { padding-top: 42px; padding-bottom: 42px; }
    .icl-internal-page .icl-page-hero-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
    .icl-internal-page .icl-page-hero-actions .icl-button { width: 100%; justify-content: center; padding-inline: 14px; }
    .icl-internal-page .icl-page-section { padding-top: 46px; padding-bottom: 46px; }
    .icl-internal-page .icl-conversion-layout > .icl-page-section:first-child { padding-top: 34px; }
    .icl-internal-page .icl-conversion-heading { margin-bottom: 28px; gap: 18px; }
    .icl-internal-page .icl-conversion-heading h2 { font-size: clamp(2.25rem, 10vw, 3rem); }
    .icl-internal-page .icl-process-compact .icl-process-grid { grid-template-columns: 1fr; }
    .icl-internal-page .icl-process-compact .icl-process-item { min-height: auto; padding: 18px 0; }
    .icl-internal-page .icl-session-grid { gap: 24px; }
    .icl-internal-page .icl-conversion-results .icl-case-grid-uniform,
    .icl-internal-page-resultados .icl-results-primary .icl-case-grid-uniform { grid-template-columns: 1fr; gap: 28px; }
    .icl-internal-page .icl-conversion-results .icl-case-card .icl-before-after,
    .icl-internal-page-resultados .icl-results-primary .icl-case-card .icl-before-after { aspect-ratio: 4 / 3; }
    .icl-internal-page .icl-evaluation-visual .icl-info-grid { grid-template-columns: 1fr; }
    .icl-internal-page .icl-evaluation-visual .icl-info-grid article { min-height: auto; border-right: 0; padding: 18px 0; }
    .icl-internal-page .icl-card-index { margin-bottom: 14px; }
    .icl-internal-page .icl-conversion-cta { padding-top: 42px; padding-bottom: 42px; }
    .icl-internal-page .icl-page-hero-actions { grid-template-columns: 1fr; }
}

/* ===== v1.8.1 Home redesign ===== */
#main-content .icl-hero-lux {
    padding: clamp(42px, 5vw, 78px) 0 0;
    background:
        radial-gradient(circle at 92% 8%, rgba(143, 164, 157, 0.18), transparent 24%),
        linear-gradient(180deg, rgba(248, 247, 244, 0.92) 0%, rgba(248, 247, 244, 1) 100%);
}
#main-content .icl-hero-lux-grid {
    align-items: center;
    gap: clamp(38px, 5vw, 84px);
}
#main-content .icl-hero-lux-copy {
    max-width: 690px;
}
#main-content .icl-hero-lux .icl-hero-lead {
    max-width: 38ch;
    font-size: clamp(1rem, 1.08vw, 1.14rem);
}
#main-content .icl-hero-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 26px 0 0;
    padding: 0;
    list-style: none;
}
#main-content .icl-hero-trust li {
    padding: 10px 16px;
    border: 1px solid rgba(36, 44, 67, 0.12);
    border-radius: 999px;
    background: rgba(255,255,255,0.78);
    color: var(--icl-navy);
    font-size: .73rem;
    font-weight: 650;
    letter-spacing: .08em;
    text-transform: uppercase;
}
#main-content .icl-hero-photo {
    border-radius: 28px;
    box-shadow: 0 24px 70px rgba(36, 44, 67, 0.14);
}
#main-content .icl-hero-principle {
    margin-top: 28px;
    padding: 18px 22px 0;
}
#main-content .icl-hero-principle p {
    max-width: 72ch;
    margin: 0;
    color: var(--icl-muted);
    font-size: .98rem;
}

#main-content .icl-home-results.icl-bg-cream {
    padding-block: clamp(72px, 8vw, 106px);
}
#main-content .icl-home-results .icl-home-section-head {
    align-items: end;
}
#main-content .icl-home-results .icl-case-grid,
#main-content .icl-home-results .icl-case-grid:has(> .icl-case-card:only-child) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(22px, 2.2vw, 30px);
}
#main-content .icl-home-results .icl-case-card,
#main-content .icl-home-results .icl-case-card:not(:first-child),
#main-content .icl-home-results .icl-case-card:first-child {
    display: flex;
    flex-direction: column;
    padding: 16px;
    border: 1px solid rgba(36, 44, 67, 0.10);
    border-radius: 24px;
    background: rgba(255,255,255,0.70);
    box-shadow: 0 14px 34px rgba(36, 44, 67, 0.06);
    grid-row: auto;
    grid-column: auto;
}
#main-content .icl-home-results .icl-case-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 22px 48px rgba(36, 44, 67, 0.10);
}
#main-content .icl-home-results .icl-case-card .icl-case-media {
    width: 100%;
}
#main-content .icl-home-results .icl-case-card .icl-placeholder,
#main-content .icl-home-results .icl-case-card .icl-before-after,
#main-content .icl-home-results .icl-case-card:first-child .icl-placeholder,
#main-content .icl-home-results .icl-case-card:first-child .icl-before-after,
#main-content .icl-home-results .icl-case-card:not(:first-child) .icl-placeholder,
#main-content .icl-home-results .icl-case-card:not(:first-child) .icl-before-after {
    aspect-ratio: 1 / 1;
    border-radius: 18px;
    overflow: hidden;
}
#main-content .icl-home-results .icl-case-card-copy,
#main-content .icl-home-results .icl-case-card:not(:first-child) .icl-case-card-copy {
    padding: 16px 4px 2px;
}
#main-content .icl-home-results .icl-case-card-copy h3 {
    font-size: clamp(1.4rem, 1.55vw, 1.8rem);
}
#main-content .icl-home-results .icl-results-disclaimer {
    max-width: 72ch;
    margin-top: 26px;
}

#main-content .icl-home-clinics-head {
    align-items: end;
}
#main-content .icl-home-clinics-side {
    max-width: 420px;
}
#main-content .icl-home-clinics-highlight {
    margin: 0 0 14px;
    color: var(--icl-navy);
    font-family: var(--icl-heading-font);
    font-size: clamp(2rem, 2.35vw, 2.7rem);
    line-height: .98;
}
#main-content .icl-home-clinics-highlight em {
    display: block;
    margin-top: 2px;
    color: var(--icl-sage-interactive);
    font-style: italic;
}
#main-content .icl-home-clinics-copy {
    margin: 0 0 14px;
    color: var(--icl-muted);
}
#main-content .icl-home-clinics .icl-clinic-card {
    padding: 14px;
    border: 1px solid rgba(36, 44, 67, 0.08);
    border-radius: 24px;
    background: rgba(255,255,255,0.65);
}
#main-content .icl-home-clinics .icl-clinic-copy {
    margin-top: 14px;
    padding-top: 16px;
}

#main-content .icl-home-final-grid-single {
    grid-template-columns: minmax(0, 760px);
    justify-content: center;
}
#main-content .icl-home-final-grid-single .icl-home-valuation {
    max-width: 760px;
    margin: 0 auto;
}

#main-content .icl-page-method-inline {
    padding-top: 10px;
}
#main-content .icl-page-method-inline .icl-home-method-stage {
    grid-template-columns: minmax(360px,.95fr) minmax(0,1.05fr);
}

@media (max-width: 1100px) {
    #main-content .icl-home-results .icl-case-grid,
    #main-content .icl-home-results .icl-case-grid:has(> .icl-case-card:only-child) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    #main-content .icl-home-clinics-head {
        align-items: start;
    }
}

@media (max-width: 767px) {
    #main-content .icl-hero-lux {
        padding-top: 22px;
    }
    #main-content .icl-hero-lux-grid {
        gap: 28px;
    }
    #main-content .icl-hero-trust {
        gap: 8px;
    }
    #main-content .icl-hero-trust li {
        font-size: .64rem;
        padding: 8px 12px;
    }
    #main-content .icl-home-results .icl-case-grid,
    #main-content .icl-home-results .icl-case-grid:has(> .icl-case-card:only-child) {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    #main-content .icl-home-results .icl-case-card,
    #main-content .icl-home-results .icl-case-card:not(:first-child),
    #main-content .icl-home-results .icl-case-card:first-child {
        padding: 12px;
        border-radius: 20px;
    }
    #main-content .icl-home-clinics-highlight {
        font-size: clamp(2rem, 10vw, 2.8rem);
    }
    #main-content .icl-home-final-grid-single {
        grid-template-columns: 1fr;
    }
    #main-content .icl-page-method-inline .icl-home-method-stage {
        grid-template-columns: 1fr;
    }
}

/* ===== v1.8.2 Home hero carousel + editorial refinements ===== */
#main-content .icl-hero-lux .icl-hero-lead {
    max-width: 40ch;
    text-align: justify;
    text-justify: inter-word;
}
#main-content .icl-hero-collage {
    min-width: 0;
}
#main-content .icl-hero-carousel {
    position: relative;
}
#main-content .icl-hero-carousel-stage {
    position: relative;
    min-height: 0;
}
#main-content .icl-hero-carousel .icl-hero-photo {
    margin: 0;
}
#main-content .icl-hero-carousel .icl-hero-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity .75s ease;
}
#main-content .icl-hero-carousel .icl-hero-slide.is-active {
    position: relative;
    opacity: 1;
    pointer-events: auto;
    z-index: 1;
}
#main-content .icl-hero-carousel .icl-hero-photo,
#main-content .icl-hero-carousel .icl-hero-photo .icl-placeholder {
    aspect-ratio: 4 / 5;
}
#main-content .icl-hero-carousel .icl-home-hero-real-image {
    width: 100%;
    height: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: var(--icl-frame-x, 50%) var(--icl-frame-y, 50%);
    transform: scale(var(--icl-frame-zoom, 1));
    transform-origin: var(--icl-frame-x, 50%) var(--icl-frame-y, 50%);
    display: block;
}
#main-content .icl-hero-carousel-arrow {
    position: absolute;
    top: 50%;
    z-index: 3;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(36, 44, 67, 0.12);
    border-radius: 999px;
    background: rgba(248, 247, 244, 0.88);
    color: var(--icl-navy);
    box-shadow: 0 10px 24px rgba(17, 23, 38, 0.10);
    transform: translateY(-50%);
    transition: transform .25s ease, background-color .25s ease, box-shadow .25s ease;
}
#main-content .icl-hero-carousel-arrow:hover {
    transform: translateY(-50%) scale(1.04);
    background: rgba(248, 247, 244, 0.98);
    box-shadow: 0 14px 28px rgba(17, 23, 38, 0.16);
}
#main-content .icl-hero-carousel-arrow-prev { left: 16px; }
#main-content .icl-hero-carousel-arrow-next { right: 16px; }
#main-content .icl-hero-carousel-arrow span {
    display: block;
    font-size: 1.55rem;
    line-height: 1;
    margin-top: -2px;
}
#main-content .icl-hero-carousel-dots {
    position: absolute;
    right: 18px;
    bottom: 18px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 11px;
    border-radius: 999px;
    background: rgba(36, 44, 67, 0.24);
    backdrop-filter: blur(10px);
}
#main-content .icl-hero-carousel-dot {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(248, 247, 244, 0.46);
    transition: transform .25s ease, background-color .25s ease;
}
#main-content .icl-hero-carousel-dot.is-active,
#main-content .icl-hero-carousel-dot[aria-selected="true"] {
    background: rgba(248, 247, 244, 0.96);
    transform: scale(1.3);
}
#main-content .icl-hero-carousel-caption {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin-top: 12px;
    color: var(--icl-muted);
    font-size: .72rem;
    letter-spacing: .09em;
    text-transform: uppercase;
}
#main-content .icl-hero-carousel-caption span + span::before {
    content: "—";
    margin-right: 14px;
    color: var(--icl-sage-interactive);
}
#main-content .icl-hero-principle {
    margin-top: clamp(34px, 4vw, 52px);
    padding: 0;
}
#main-content .icl-hero-principle-editorial {
    max-width: 15ch;
    margin: 0;
    color: var(--icl-navy);
    font-size: clamp(2.95rem, 5vw, 5.1rem);
    line-height: .97;
    letter-spacing: -.035em;
}
#main-content .icl-hero-principle-editorial span {
    display: block;
}
#main-content .icl-hero-principle-editorial em {
    display: block;
    margin-top: 8px;
    color: var(--icl-sage-interactive);
    font-style: italic;
}
#main-content .icl-home-results .icl-case-card-copy,
#main-content .icl-home-results .icl-case-card:not(:first-child) .icl-case-card-copy {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 8px;
}
#main-content .icl-home-results .icl-case-card-copy .icl-eyebrow {
    margin-bottom: 0;
}
#main-content .icl-home-results .icl-case-card-copy h3 {
    margin-bottom: 0;
}
#main-content .icl-home-results .icl-case-card-copy .icl-text-link {
    align-self: center;
}
#main-content .icl-results-more {
    margin: 14px 0 0;
}
#main-content .icl-home-clinics-title-split {
    margin-bottom: 0;
    color: var(--icl-navy);
}
#main-content .icl-home-clinics-title-split span,
#main-content .icl-home-clinics-title-split em {
    display: block;
}
#main-content .icl-home-clinics-title-split em {
    margin-top: 6px;
    color: var(--icl-sage-interactive);
    font-style: italic;
}
#main-content .icl-home-clinics-side {
    display: grid;
    gap: 14px;
    align-content: end;
}
#main-content .icl-home-valuation-head {
    position: relative;
    padding-right: 94px;
}
#main-content .icl-home-valuation-mark {
    position: absolute;
    top: 2px;
    right: 0;
    width: 64px;
    height: 64px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(248, 247, 244, 0.08);
    box-shadow: inset 0 0 0 1px rgba(248, 247, 244, 0.14);
}
#main-content .icl-home-valuation-mark img {
    width: 32px;
    height: 32px;
    object-fit: contain;
}

@media (max-width: 767px) {
    #main-content .icl-hero-carousel-arrow {
        width: 38px;
        height: 38px;
    }
    #main-content .icl-hero-carousel-arrow-prev { left: 12px; }
    #main-content .icl-hero-carousel-arrow-next { right: 12px; }
    #main-content .icl-hero-carousel-dots {
        right: 12px;
        bottom: 12px;
        gap: 7px;
        padding: 8px 10px;
    }
    #main-content .icl-hero-principle-editorial {
        max-width: 12ch;
        font-size: clamp(2.45rem, 9.8vw, 3.45rem);
    }
    #main-content .icl-home-valuation-head {
        padding-right: 72px;
    }
    #main-content .icl-home-valuation-mark {
        width: 52px;
        height: 52px;
    }
    #main-content .icl-home-valuation-mark img {
        width: 26px;
        height: 26px;
    }
}


/* ===== v1.8.3 targeted corrections ===== */
#main-content .icl-hero-carousel-stage {
    aspect-ratio: 3 / 2;
    border-radius: var(--icl-photo-radius);
    overflow: hidden;
    background: var(--icl-cream);
}
#main-content .icl-hero-carousel .icl-hero-slide,
#main-content .icl-hero-carousel .icl-hero-photo {
    width: 100%;
    height: 100%;
}
#main-content .icl-hero-carousel .icl-hero-photo,
#main-content .icl-hero-carousel .icl-hero-photo .icl-placeholder,
#main-content .icl-hero-carousel .icl-home-hero-real-image {
    aspect-ratio: 3 / 2;
}
#main-content .icl-hero-carousel .icl-home-hero-real-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: var(--icl-warm);
}

#main-content .icl-hero-principle {
    width: 100%;
}
#main-content .icl-hero-principle-editorial {
    width: min(100%, 24ch);
    max-width: 100%;
    margin-inline: auto;
    text-align: center;
    font-size: clamp(1.9rem, 2.6vw, 3rem);
    line-height: 1.08;
}
#main-content .icl-hero-principle-editorial span,
#main-content .icl-hero-principle-editorial em {
    display: inline;
}
#main-content .icl-hero-principle-editorial em {
    margin-top: 0;
}

#main-content .icl-home-results .icl-case-card {
    height: 100%;
}
#main-content .icl-home-results .icl-case-card-copy,
#main-content .icl-home-results .icl-case-card:not(:first-child) .icl-case-card-copy {
    flex: 1 1 auto;
    min-height: 126px;
    justify-content: flex-start;
    gap: 8px;
}
#main-content .icl-home-results .icl-case-card-copy .icl-eyebrow {
    margin: 0 0 4px;
    min-height: 1.65em;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}
#main-content .icl-home-results .icl-case-card-copy h3 {
    margin: 0;
}
#main-content .icl-home-results .icl-case-card-copy .icl-text-link {
    margin-top: auto;
}

@media (max-width: 767px) {
    #main-content .icl-hero-carousel-stage {
        aspect-ratio: 3 / 2;
    }
    #main-content .icl-hero-carousel .icl-home-hero-real-image {
        width: 100% !important;
        height: 100% !important;
        aspect-ratio: 3 / 2 !important;
        object-fit: contain !important;
        object-position: center center !important;
        transform: scale(var(--icl-frame-zoom, 1)) !important;
        transform-origin: var(--icl-frame-x, 50%) var(--icl-frame-y, 50%) !important;
        background: var(--icl-warm);
    }
    #main-content .icl-hero-principle-editorial {
        width: min(100%, 18ch);
        font-size: clamp(1.7rem, 6vw, 2.35rem);
    }
}


/* ===== v1.8.5 targeted refinements ===== */
/* Hero photograph: preserve full 3:2 image without cream/white frame; keep rounded corners. */
#main-content .icl-hero-carousel-stage {
    aspect-ratio: 3 / 2;
    border-radius: var(--icl-photo-radius);
    overflow: hidden;
    background: transparent;
    box-shadow: none;
}
#main-content .icl-hero-photo-main.has-real-image {
    background: transparent;
    border-radius: var(--icl-photo-radius) !important;
    overflow: hidden;
}
#main-content .icl-hero-carousel .icl-hero-photo,
#main-content .icl-hero-carousel .icl-hero-photo .icl-placeholder,
#main-content .icl-hero-carousel .icl-home-hero-real-image {
    aspect-ratio: 3 / 2;
}
#main-content .icl-hero-carousel .icl-home-hero-real-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: transparent !important;
    border-radius: var(--icl-photo-radius);
}

/* Full-width editorial statement: centered, smaller, and constrained inside page margins. */
#main-content .icl-hero-principle {
    width: 100%;
    max-width: 100%;
    margin-top: clamp(26px, 3vw, 42px);
}
#main-content .icl-hero-principle-editorial {
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
    text-align: center;
    font-size: clamp(1.45rem, 2vw, 2.45rem);
    line-height: 1.08;
    letter-spacing: -.026em;
}
#main-content .icl-hero-principle-editorial span,
#main-content .icl-hero-principle-editorial em {
    display: block;
    white-space: nowrap;
}
#main-content .icl-hero-principle-editorial em {
    margin-top: 4px;
}

/* Results cards: normalize eyebrow/title spacing so the first card matches the rest. */
#main-content .icl-home-results .icl-case-card-copy,
#main-content .icl-home-results .icl-case-card:not(:first-child) .icl-case-card-copy {
    padding: 18px 4px 4px;
    min-height: 132px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    text-align: center;
}
#main-content .icl-home-results .icl-case-card-copy .icl-eyebrow {
    width: 100%;
    min-height: 1.85em;
    margin: 0;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    text-align: center;
}
#main-content .icl-home-results .icl-case-card-copy h3 {
    margin: 0;
}
#main-content .icl-home-results .icl-case-card-copy .icl-text-link {
    margin-top: auto;
    align-self: center;
}

@media (max-width: 1024px) {
    #main-content .icl-hero-principle-editorial {
        font-size: clamp(1.35rem, 1.9vw, 2.1rem);
    }
}

@media (max-width: 767px) {
    #main-content .icl-hero-carousel-stage {
        aspect-ratio: 3 / 2;
        background: transparent;
    }
    #main-content .icl-hero-carousel .icl-home-hero-real-image {
        aspect-ratio: 3 / 2 !important;
        object-fit: contain !important;
        object-position: center center !important;
        background: transparent !important;
        transform: none !important;
    }
    #main-content .icl-hero-principle-editorial {
        font-size: clamp(1.25rem, 5.1vw, 1.9rem);
        line-height: 1.12;
    }
    #main-content .icl-hero-principle-editorial span,
    #main-content .icl-hero-principle-editorial em {
        white-space: normal;
    }
    #main-content .icl-home-results .icl-case-card-copy,
    #main-content .icl-home-results .icl-case-card:not(:first-child) .icl-case-card-copy {
        min-height: 0;
    }
}

/* ===== v1.8.6 final alignment + hero polish ===== */
/* Hero: make the carousel slightly larger, preserve full photo visibility,
 * and ensure every slide/image inherits the same rounded-corner system. */
#main-content .icl-hero-lux-grid {
    grid-template-columns: minmax(0, .76fr) minmax(0, 1.24fr);
    gap: clamp(32px, 4vw, 64px);
}
#main-content .icl-hero-lux-copy {
    max-width: 620px;
}
#main-content .icl-hero-collage {
    min-height: 0;
    width: 100%;
}
#main-content .icl-hero-carousel {
    width: 100%;
    border-radius: var(--icl-photo-radius);
}
#main-content .icl-hero-carousel-stage {
    aspect-ratio: 3 / 2;
    border-radius: var(--icl-photo-radius) !important;
    overflow: hidden;
    background: transparent;
}
#main-content .icl-hero-carousel .icl-hero-photo-main {
    padding-bottom: 0 !important;
    border-radius: inherit;
    overflow: hidden;
}
#main-content .icl-hero-carousel .icl-hero-slide,
#main-content .icl-hero-carousel .icl-hero-photo,
#main-content .icl-hero-carousel .icl-home-hero-real-image,
#main-content .icl-hero-carousel .icl-hero-photo .icl-placeholder {
    border-radius: inherit;
}
#main-content .icl-hero-carousel .icl-home-hero-real-image {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 3 / 2 !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: transparent !important;
    transform: none !important;
}

/* Results: force identical vertical rhythm across every card,
 * so the first result code/title aligns with the rest. */
#main-content .icl-home-results .icl-case-card-copy,
#main-content .icl-home-results .icl-case-card:first-child .icl-case-card-copy,
#main-content .icl-home-results .icl-case-card:not(:first-child) .icl-case-card-copy {
    display: grid;
    grid-template-rows: minmax(1.85em, auto) auto auto;
    align-content: start;
    justify-items: center;
    row-gap: 8px;
    padding: 18px 4px 4px;
    min-height: 132px;
    text-align: center;
}
#main-content .icl-home-results .icl-case-card-copy .icl-eyebrow {
    width: 100%;
    min-height: 1.85em;
    margin: 0;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    text-align: center;
}
#main-content .icl-home-results .icl-case-card-copy h3,
#main-content .icl-home-results .icl-case-card:first-child .icl-case-card-copy h3 {
    margin: 0;
}
#main-content .icl-home-results .icl-case-card-copy .icl-text-link,
#main-content .icl-home-results .icl-case-card:first-child .icl-case-card-copy .icl-text-link {
    margin-top: 0;
    align-self: center;
}

@media (max-width: 1100px) {
    #main-content .icl-hero-lux-grid {
        grid-template-columns: 1fr 1.08fr;
        gap: 34px;
    }
}

@media (max-width: 767px) {
    #main-content .icl-hero-carousel,
    #main-content .icl-hero-carousel-stage,
    #main-content .icl-hero-carousel .icl-hero-photo-main,
    #main-content .icl-hero-carousel .icl-home-hero-real-image {
        border-radius: var(--icl-photo-radius) !important;
    }
    #main-content .icl-home-results .icl-case-card-copy,
    #main-content .icl-home-results .icl-case-card:first-child .icl-case-card-copy,
    #main-content .icl-home-results .icl-case-card:not(:first-child) .icl-case-card-copy {
        min-height: 0;
    }
}

/* ===== v1.8.7 final micro-adjustments ===== */
/* Header logo: add registered mark to the horizontal lockup. */
.icl-brand {
    position: relative;
    overflow: visible;
}
.icl-brand::after {
    content: "®";
    position: absolute;
    top: 3px;
    right: -8px;
    color: var(--icl-navy);
    font-size: .72rem;
    font-weight: 700;
    line-height: 1;
}

/* Final valuation icon: larger icon plus registered superscript. */
#main-content .icl-home-valuation-head {
    padding-right: 134px;
}
#main-content .icl-home-valuation-mark {
    width: 104px;
    height: 104px;
    overflow: visible;
}
#main-content .icl-home-valuation-mark img {
    width: 64px;
    height: 64px;
}
#main-content .icl-home-valuation-mark::after {
    content: "®";
    position: absolute;
    top: 10px;
    right: 12px;
    color: var(--icl-navy);
    font-size: .82rem;
    font-weight: 700;
    line-height: 1;
}

/* Home results: nudge only the first card copy so it visually lines up with the others. */
#main-content .icl-home-results .icl-case-card:first-child .icl-case-card-copy {
    padding-top: 24px !important;
    min-height: 140px;
}
#main-content .icl-home-results .icl-case-card:first-child .icl-case-card-copy .icl-eyebrow {
    min-height: 1.85em;
}

@media (max-width: 1024px) {
    #main-content .icl-home-valuation-head {
        padding-right: 112px;
    }
    #main-content .icl-home-valuation-mark {
        width: 88px;
        height: 88px;
    }
    #main-content .icl-home-valuation-mark img {
        width: 54px;
        height: 54px;
    }
}

@media (max-width: 767px) {
    .icl-brand::after {
        top: 2px;
        right: -5px;
        font-size: .58rem;
    }
    #main-content .icl-home-valuation-head {
        padding-right: 88px;
    }
    #main-content .icl-home-valuation-mark {
        width: 72px;
        height: 72px;
    }
    #main-content .icl-home-valuation-mark img {
        width: 44px;
        height: 44px;
    }
    #main-content .icl-home-valuation-mark::after {
        top: 7px;
        right: 8px;
        font-size: .64rem;
    }
    #main-content .icl-home-results .icl-case-card:first-child .icl-case-card-copy {
        min-height: 0;
    }
}

/* ===== v1.8.8 precise alignment and trademark proximity ===== */
/* Keep the first home result copy centered as a compact block, matching the other cards visually. */
#main-content .icl-home-results .icl-case-card:first-child .icl-case-card-copy {
    width: max-content;
    max-width: calc(100% - 48px);
    margin-left: auto;
    margin-right: auto;
    padding: 30px 0 6px !important;
    min-height: 146px;
    justify-items: center;
}
#main-content .icl-home-results .icl-case-card:first-child .icl-case-card-copy .icl-eyebrow,
#main-content .icl-home-results .icl-case-card:first-child .icl-case-card-copy h3,
#main-content .icl-home-results .icl-case-card:first-child .icl-case-card-copy .icl-text-link {
    width: auto;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    justify-self: center;
}

/* Bring the ® visually closer to the header logo lockup. */
.icl-brand::after {
    top: 8px;
    right: 12px;
    font-size: .58rem;
}

/* Bring the ® closer to the final icon and keep the enlarged icon compact. */
#main-content .icl-home-valuation-head {
    padding-right: 104px;
}
#main-content .icl-home-valuation-mark {
    top: 4px;
    right: 4px;
    width: 84px;
    height: 84px;
}
#main-content .icl-home-valuation-mark img {
    width: 56px;
    height: 56px;
}
#main-content .icl-home-valuation-mark::after {
    top: 10px;
    right: 10px;
    font-size: .64rem;
}

@media (max-width: 1024px) {
    #main-content .icl-home-valuation-head {
        padding-right: 94px;
    }
    #main-content .icl-home-valuation-mark {
        width: 76px;
        height: 76px;
    }
    #main-content .icl-home-valuation-mark img {
        width: 50px;
        height: 50px;
    }
    #main-content .icl-home-valuation-mark::after {
        top: 9px;
        right: 8px;
        font-size: .6rem;
    }
}

@media (max-width: 767px) {
    .icl-brand::after {
        top: 6px;
        right: 8px;
        font-size: .5rem;
    }
    #main-content .icl-home-results .icl-case-card:first-child .icl-case-card-copy {
        width: 100%;
        max-width: none;
        min-height: 0;
        padding-top: 18px !important;
    }
    #main-content .icl-home-valuation-head {
        padding-right: 78px;
    }
    #main-content .icl-home-valuation-mark {
        width: 64px;
        height: 64px;
        top: 2px;
        right: 2px;
    }
    #main-content .icl-home-valuation-mark img {
        width: 42px;
        height: 42px;
    }
    #main-content .icl-home-valuation-mark::after {
        top: 7px;
        right: 6px;
        font-size: .52rem;
    }
}

/* ===== v1.8.9 hero title tighter line breaks ===== */
#main-content .icl-hero h1 {
    font-size: clamp(3.2rem, 4.95vw, 5.45rem);
    line-height: .94;
    max-width: 650px;
}
#main-content .icl-hero h1 em {
    line-height: .94;
}
@media (max-width: 1024px) {
    #main-content .icl-hero h1 {
        font-size: clamp(3rem, 7.4vw, 4.9rem);
        max-width: 100%;
    }
}

/* ===== v1.8.10 exact hero line breaks ===== */
#main-content .icl-hero h1 {
    max-width: 700px;
}
#main-content .icl-hero .icl-hero-title-line,
#main-content .icl-hero h1 em {
    display: block;
}
#main-content .icl-hero .icl-hero-title-line {
    white-space: nowrap;
}
#main-content .icl-hero h1 em {
    margin-top: 0;
    white-space: nowrap;
}
@media (max-width: 1024px) {
    #main-content .icl-hero .icl-hero-title-line,
    #main-content .icl-hero h1 em {
        white-space: normal;
    }
}

/* ===== v1.8.11 keep hero emphasis on one line on desktop ===== */


/* ===== v1.8.12 mobile responsive cleanup ===== */
@media (max-width: 767px) {
    html, body {
        overflow-x: hidden;
    }

    body {
        -webkit-text-size-adjust: 100%;
    }

    #main-content,
    #main-content section,
    #main-content article,
    #main-content figure,
    #main-content img {
        max-width: 100%;
    }

    .icl-container {
        width: calc(100% - 32px);
    }

    .icl-header-inner {
        gap: 14px;
    }

    .icl-brand .icl-default-logo {
        width: 136px;
        height: auto;
    }

    .icl-primary-nav {
        inset: var(--icl-header-h) 0 0;
        padding: 26px 18px 36px;
    }

    .icl-menu a {
        font-size: clamp(1.45rem, 6vw, 1.95rem);
    }

    .icl-header-cta {
        padding: 14px 0;
        font-size: .7rem;
    }

    #main-content .icl-hero-lux {
        padding-top: 16px;
        overflow: hidden;
    }

    #main-content .icl-hero-lux-grid {
        grid-template-columns: 1fr;
        gap: 24px;
        align-items: start;
    }

    #main-content .icl-hero-lux-copy {
        max-width: 100%;
        padding: 6px 0 0;
    }

    #main-content .icl-hero-lux h1 {
        max-width: 100%;
        margin-bottom: 18px;
        font-size: clamp(2.85rem, 12.6vw, 4.2rem);
        line-height: .94;
    }

    #main-content .icl-hero .icl-hero-title-line,
    #main-content .icl-hero h1 em {
        white-space: normal;
    }

    #main-content .icl-hero-lux .icl-hero-lead {
        max-width: 100%;
        font-size: .95rem;
        line-height: 1.62;
    }

    #main-content .icl-hero-lux .icl-hero-actions {
        margin-top: 24px;
        gap: 14px;
        flex-direction: column;
        align-items: stretch;
    }

    #main-content .icl-hero-lux .icl-hero-actions .icl-button,
    #main-content .icl-hero-lux .icl-hero-actions .icl-text-link {
        width: 100%;
        justify-content: center;
    }

    #main-content .icl-hero-lux-foot {
        display: flex;
        margin-top: 24px;
        gap: 8px 16px;
    }

    #main-content .icl-hero-lux-foot span + span::before {
        margin-right: 16px;
    }

    #main-content .icl-hero-collage {
        width: 100%;
        margin: 0;
        min-height: 0;
    }

    #main-content .icl-hero-carousel,
    #main-content .icl-hero-carousel-stage,
    #main-content .icl-hero-carousel .icl-hero-photo-main,
    #main-content .icl-hero-carousel .icl-home-hero-real-image {
        width: 100%;
        max-width: 100%;
        border-radius: var(--icl-photo-radius) !important;
    }

    #main-content .icl-hero-carousel-stage {
        aspect-ratio: 4 / 3;
        overflow: hidden;
    }

    #main-content .icl-hero-carousel .icl-home-hero-real-image {
        height: 100% !important;
        object-fit: contain !important;
        object-position: center center !important;
    }

    #main-content .icl-hero-photo-main figcaption {
        display: flex;
        padding-top: 10px;
        font-size: .52rem;
    }

    #main-content .icl-hero-principle {
        padding: 24px 0 28px;
    }

    #main-content .icl-hero-principle-editorial,
    #main-content .icl-hero-principle p {
        max-width: 100%;
        font-size: clamp(1.55rem, 7.2vw, 2.2rem);
        line-height: 1.08;
    }

    #main-content .icl-home .icl-section {
        padding-top: 58px;
        padding-bottom: 58px;
    }

    #main-content .icl-home-section-head,
    #main-content .icl-home-method-stage,
    #main-content .icl-home-final-grid,
    #main-content .icl-home-final-grid-single,
    #main-content .icl-page-method-inline .icl-home-method-stage,
    #main-content .icl-clinic-grid,
    #main-content .icl-two-column,
    #main-content .icl-two-column-wide,
    #main-content .icl-two-column-form,
    #main-content .icl-results-intro,
    #main-content .icl-editorial-feature-grid,
    #main-content .icl-process-heading,
    #main-content .icl-safety-editorial,
    #main-content .icl-assessment-grid,
    #main-content .icl-video-stage,
    #main-content .icl-clinics-heading,
    #main-content .icl-international-grid,
    #main-content .icl-valuation-layout,
    #main-content .icl-footer-intro {
        grid-template-columns: 1fr;
        gap: 26px;
    }

    #main-content .icl-home-section-head {
        margin-bottom: 28px;
    }

    #main-content .icl-home-section-head h2,
    #main-content .icl-home-faq-preview h2,
    #main-content .icl-home-valuation-head h2,
    #main-content .icl-page-hero h1,
    #main-content .icl-section-heading h2 {
        max-width: 100%;
        font-size: clamp(2.3rem, 10vw, 3.2rem);
        line-height: 1.02;
    }

    #main-content .icl-home-section-head > div:last-child > p,
    #main-content .icl-home-method-copy article p,
    #main-content .icl-home-valuation-head > p:not(.icl-eyebrow),
    #main-content .icl-page-lead,
    #main-content .icl-prose p {
        font-size: .92rem;
        line-height: 1.62;
    }

    #main-content .icl-home-results .icl-case-grid,
    #main-content .icl-home-results .icl-case-grid:has(> .icl-case-card:only-child),
    #main-content .icl-case-grid,
    #main-content .icl-case-grid-uniform,
    #main-content .icl-internal-page .icl-conversion-results .icl-case-grid-uniform,
    #main-content .icl-internal-page-resultados .icl-results-primary .icl-case-grid-uniform {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    #main-content .icl-home-results .icl-case-card,
    #main-content .icl-home-results .icl-case-card:first-child,
    #main-content .icl-home-results .icl-case-card:nth-child(n),
    #main-content .icl-case-grid-uniform > .icl-case-card,
    #main-content .icl-case-grid-uniform > .icl-case-card:first-child,
    #main-content .icl-case-grid-uniform > .icl-case-card:nth-child(n) {
        display: block;
        grid-column: auto;
        grid-row: auto;
    }

    #main-content .icl-home-results .icl-case-card .icl-before-after,
    #main-content .icl-home-results .icl-case-card .icl-placeholder,
    #main-content .icl-case-grid-uniform > .icl-case-card .icl-before-after,
    #main-content .icl-case-grid-uniform > .icl-case-card .icl-placeholder {
        aspect-ratio: 1 / 1;
    }

    #main-content .icl-home-results .icl-case-card-copy,
    #main-content .icl-home-results .icl-case-card:first-child .icl-case-card-copy,
    #main-content .icl-home-results .icl-case-card:not(:first-child) .icl-case-card-copy {
        width: 100%;
        max-width: 100%;
        min-height: 0;
        padding: 18px 8px 4px !important;
        margin: 0;
        text-align: center;
        justify-items: center;
    }

    #main-content .icl-home-results .icl-case-card-copy .icl-eyebrow,
    #main-content .icl-home-results .icl-case-card-copy h3,
    #main-content .icl-home-results .icl-case-card-copy .icl-text-link {
        width: 100%;
        text-align: center;
        justify-content: center;
    }

    #main-content .icl-home-method-art {
        min-height: 320px;
    }

    #main-content .icl-home-method-art > p {
        left: 20px;
        right: 20px;
        bottom: 18px;
    }

    #main-content .icl-home-method-copy article {
        grid-template-columns: 38px minmax(0, 1fr);
        column-gap: 12px;
        row-gap: 6px;
        padding: 18px 0;
    }

    #main-content .icl-home-method-copy article h3 {
        font-size: 1.04rem;
    }

    #main-content .icl-home-method-copy > .icl-text-link {
        margin-top: 22px;
    }

    #main-content .icl-home-clinics .icl-clinic-grid {
        grid-template-columns: 1fr;
        gap: 26px;
    }

    #main-content .icl-home-clinics .icl-clinic-card,
    #main-content .icl-clinic-card {
        padding: 0;
    }

    #main-content .icl-home-clinics .icl-clinic-media .icl-placeholder,
    #main-content .icl-home-clinics .icl-clinic-media img,
    #main-content .icl-clinic-media .icl-placeholder,
    #main-content .icl-clinic-media img {
        aspect-ratio: 16 / 10;
    }

    #main-content .icl-home-final {
        padding: 58px 0;
    }

    #main-content .icl-home-faq-preview {
        position: static;
    }

    #main-content .icl-home-valuation {
        margin: 0;
        padding: 24px 18px 28px;
    }

    #main-content .icl-home-valuation-head {
        margin-bottom: 24px;
        padding-right: 72px;
    }

    #main-content .icl-home-valuation-mark {
        width: 58px;
        height: 58px;
        top: 2px;
        right: 0;
    }

    #main-content .icl-home-valuation-mark img {
        width: 38px;
        height: 38px;
    }

    #main-content .icl-home-valuation-mark::after {
        top: 7px;
        right: 5px;
        font-size: .48rem;
    }

    #main-content .icl-form-grid,
    #main-content .icl-info-grid,
    #main-content .icl-process-grid,
    #main-content .icl-form-actions,
    #main-content .icl-form-actions-split {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    #main-content .icl-valuation-panel {
        padding: 22px 16px;
        margin-inline: 0;
    }

    #main-content .icl-form-actions,
    #main-content .icl-form-actions-split {
        display: flex;
        flex-direction: column-reverse;
        align-items: stretch;
    }

    #main-content .icl-form-actions .icl-button,
    #main-content .icl-form-actions-split .icl-button {
        width: 100%;
    }

    #main-content .icl-radio-row {
        flex-direction: column;
        gap: 8px;
    }

    #main-content .icl-footer-grid {
        grid-template-columns: 1fr;
        gap: 26px;
        padding-top: 34px;
        padding-bottom: 34px;
    }

    #main-content .icl-footer-bottom {
        flex-direction: column;
        gap: 8px;
    }
}

@media (max-width: 420px) {
    .icl-container {
        width: calc(100% - 24px);
    }

    #main-content .icl-hero-lux h1 {
        font-size: clamp(2.6rem, 13vw, 3.55rem);
    }

    #main-content .icl-hero-lux .icl-hero-actions {
        gap: 12px;
    }

    #main-content .icl-home .icl-section,
    #main-content .icl-home-final {
        padding-top: 52px;
        padding-bottom: 52px;
    }

    #main-content .icl-home-valuation-head {
        padding-right: 64px;
    }

    #main-content .icl-home-valuation-mark {
        width: 52px;
        height: 52px;
    }

    #main-content .icl-home-valuation-mark img {
        width: 34px;
        height: 34px;
    }
}


/* ===== v1.8.13 mobile results text centering ===== */
@media (max-width: 767px) {
    #main-content .icl-case-card-copy,
    #main-content .icl-case-card:first-child .icl-case-card-copy,
    #main-content .icl-case-card:nth-child(n) .icl-case-card-copy,
    #main-content .icl-case-grid-uniform > .icl-case-card .icl-case-card-copy,
    #main-content .icl-case-grid-uniform > .icl-case-card:first-child .icl-case-card-copy,
    #main-content .icl-case-grid-uniform > .icl-case-card:nth-child(n) .icl-case-card-copy,
    #main-content .icl-internal-page .icl-conversion-results .icl-case-card-copy,
    #main-content .icl-internal-page-resultados .icl-results-primary .icl-case-card-copy {
        display: grid;
        justify-items: center !important;
        align-content: start;
        text-align: center !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    #main-content .icl-case-card-copy .icl-eyebrow,
    #main-content .icl-case-card-copy h3,
    #main-content .icl-case-card-copy .icl-text-link,
    #main-content .icl-case-grid-uniform > .icl-case-card .icl-case-card-copy .icl-eyebrow,
    #main-content .icl-case-grid-uniform > .icl-case-card .icl-case-card-copy h3,
    #main-content .icl-case-grid-uniform > .icl-case-card .icl-case-card-copy .icl-text-link,
    #main-content .icl-internal-page .icl-conversion-results .icl-case-card-copy .icl-eyebrow,
    #main-content .icl-internal-page .icl-conversion-results .icl-case-card-copy h3,
    #main-content .icl-internal-page .icl-conversion-results .icl-case-card-copy .icl-text-link,
    #main-content .icl-internal-page-resultados .icl-results-primary .icl-case-card-copy .icl-eyebrow,
    #main-content .icl-internal-page-resultados .icl-results-primary .icl-case-card-copy h3,
    #main-content .icl-internal-page-resultados .icl-results-primary .icl-case-card-copy .icl-text-link {
        width: 100%;
        text-align: center !important;
        justify-content: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}


/* ===== v1.8.14 procedure page refinements ===== */
.icl-internal-page-procedimiento .icl-process-compact .icl-process-item {
    display: grid;
    grid-template-rows: auto 1fr auto auto 1fr;
    align-items: start;
}
.icl-internal-page-procedimiento .icl-process-compact .icl-process-item .icl-step-number {
    grid-row: 1;
    justify-self: start;
    margin-bottom: 0;
}
.icl-internal-page-procedimiento .icl-process-compact .icl-process-item h3,
.icl-internal-page-procedimiento .icl-process-compact .icl-process-item p {
    justify-self: start;
    text-align: left;
    margin-left: 0;
    margin-right: 0;
    width: 100%;
    max-width: 270px;
}
.icl-internal-page-procedimiento .icl-process-compact .icl-process-item h3 {
    grid-row: 3;
    margin-bottom: 10px;
}
.icl-internal-page-procedimiento .icl-process-compact .icl-process-item p {
    grid-row: 4;
}
.icl-site-footer .icl-footer-statement {
    color: var(--icl-warm);
}


/* ===== v1.8.15 procedure cleanup + visible lower text ===== */
#main-content.icl-internal-page-procedimiento .icl-conversion-cta,
#main-content.icl-internal-page-procedimiento .icl-conversion-cta-inner {
    color: var(--icl-warm) !important;
}
#main-content.icl-internal-page-procedimiento .icl-conversion-cta .icl-eyebrow {
    color: var(--icl-sage-light) !important;
}
#main-content.icl-internal-page-procedimiento .icl-conversion-cta h2,
#main-content.icl-internal-page-procedimiento .icl-conversion-cta p {
    color: var(--icl-warm) !important;
}
.icl-site-footer .icl-footer-statement {
    color: var(--icl-warm) !important;
}


/* ===== v1.8.16 procedure step text indentation ===== */
.icl-internal-page-procedimiento .icl-process-compact .icl-process-item h3,
.icl-internal-page-procedimiento .icl-process-compact .icl-process-item p {
    padding-left: 0;
}
@media (max-width: 767px) {
    .icl-internal-page-procedimiento .icl-process-compact .icl-process-item h3,
    .icl-internal-page-procedimiento .icl-process-compact .icl-process-item p {
        max-width: 100%;
    }
}


/* ===== v1.8.17 process/evaluation card text left-indent correction ===== */
.icl-internal-page-procedimiento .icl-process-compact .icl-process-item,
.icl-internal-page-candidatos-y-seguridad .icl-evaluation-visual .icl-info-grid article {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    grid-auto-rows: auto;
    align-content: start;
}
.icl-internal-page-procedimiento .icl-process-compact .icl-process-item .icl-step-number,
.icl-internal-page-candidatos-y-seguridad .icl-evaluation-visual .icl-info-grid article .icl-card-index {
    grid-column: 1 / span 2;
    justify-self: start;
    margin-bottom: 34px;
}
.icl-internal-page-procedimiento .icl-process-compact .icl-process-item h3,
.icl-internal-page-procedimiento .icl-process-compact .icl-process-item p,
.icl-internal-page-candidatos-y-seguridad .icl-evaluation-visual .icl-info-grid article h3,
.icl-internal-page-candidatos-y-seguridad .icl-evaluation-visual .icl-info-grid article p {
    grid-column: 2;
    justify-self: start;
    text-align: left;
    margin-left: 0;
    margin-right: 0;
    width: 100%;
    max-width: 250px;
}
.icl-internal-page-procedimiento .icl-process-compact .icl-process-item h3,
.icl-internal-page-candidatos-y-seguridad .icl-evaluation-visual .icl-info-grid article h3 {
    margin-bottom: 10px;
}
.icl-internal-page-procedimiento .icl-process-compact .icl-process-item p,
.icl-internal-page-candidatos-y-seguridad .icl-evaluation-visual .icl-info-grid article p {
    margin-bottom: 0;
}
@media (max-width: 767px) {
    .icl-internal-page-procedimiento .icl-process-compact .icl-process-item,
    .icl-internal-page-candidatos-y-seguridad .icl-evaluation-visual .icl-info-grid article {
        grid-template-columns: 42px minmax(0, 1fr);
    }
    .icl-internal-page-procedimiento .icl-process-compact .icl-process-item h3,
    .icl-internal-page-procedimiento .icl-process-compact .icl-process-item p,
    .icl-internal-page-candidatos-y-seguridad .icl-evaluation-visual .icl-info-grid article h3,
    .icl-internal-page-candidatos-y-seguridad .icl-evaluation-visual .icl-info-grid article p {
        max-width: 100%;
    }
}


/* ===== v1.8.18 mobile hero carousel reliability ===== */
#main-content .icl-hero-carousel-stage {
    position: relative;
    isolation: isolate;
}
#main-content .icl-hero-carousel .icl-hero-slide,
#main-content .icl-hero-carousel .icl-hero-slide.is-active {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    transition: opacity .65s ease;
    will-change: opacity;
    backface-visibility: hidden;
}
#main-content .icl-hero-carousel .icl-hero-slide {
    opacity: 0;
    z-index: 0;
    pointer-events: none;
}
#main-content .icl-hero-carousel .icl-hero-slide.is-active {
    opacity: 1;
    z-index: 2;
    pointer-events: auto;
}
@media (max-width: 767px) {
    #main-content .icl-hero-carousel .icl-hero-slide,
    #main-content .icl-hero-carousel .icl-hero-slide.is-active,
    #main-content .icl-hero-carousel .icl-home-hero-real-image {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }
    #main-content .icl-hero-carousel-arrow,
    #main-content .icl-hero-carousel-dots {
        z-index: 5;
    }
}


/* ===== v1.8.19 editable global copy + unified footer wordmark ===== */
.icl-footer-wordmark {
    display: block;
    margin-bottom: 24px;
    color: var(--icl-warm) !important;
    font-family: var(--icl-sans);
    font-size: 1.35rem !important;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: .08em;
    white-space: nowrap;
}
.icl-footer-wordmark span {
    display: inline;
    margin: 0;
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
}
@media (max-width: 480px) {
    .icl-footer-wordmark {
        font-size: 1.15rem !important;
        letter-spacing: .065em;
    }
}


/* ===== v1.8.21 one-step valuation + WhatsApp confirmation ===== */
.icl-valuation-form .icl-form-grid-full {
    grid-column: 1 / -1;
}
.icl-valuation-form .icl-form-actions-end {
    justify-content: flex-end;
}
.icl-valuation-form .icl-form-progress-complete > span {
    width: 100% !important;
}
.icl-confirmation-whatsapp-notice {
    margin: 28px 0 24px;
    padding: 20px 22px;
    border-left: 3px solid var(--icl-sage-interactive);
    background: rgba(105, 128, 116, .08);
}
.icl-confirmation-whatsapp-notice p,
.icl-confirmation-link-fallback,
.icl-confirmation-manual-number {
    max-width: 760px;
}
.icl-confirmation-manual-number {
    margin-top: 18px;
    font-size: .95rem;
}
.icl-confirmation-link-fallback {
    margin-top: 26px;
    padding-top: 22px;
    border-top: 1px solid var(--icl-border);
}
@media (max-width: 767px) {
    .icl-valuation-form .icl-form-grid-full {
        grid-column: 1;
    }
    .icl-valuation-form .icl-form-actions-end {
        justify-content: stretch;
    }
    .icl-valuation-form .icl-form-actions-end .icl-button {
        width: 100%;
    }
    .icl-confirmation-whatsapp-notice {
        padding: 18px;
    }
}


/* ===== v1.8.22 mobile internal-page media rhythm + Results progression reliability =====
 * Final mobile hardening. Desktop/tablet layouts above 767px are untouched.
 * Removes inherited track/min-height space around editorial photos and makes
 * the Results progression photographs real, visible blocks instead of relying
 * on a lazy-loaded zero-height child inside a square figure.
 */
@media (max-width: 767px) {
    /* All internal-page sections return to intrinsic content height. */
    #main-content.icl-internal-page .icl-page-section,
    #main-content.icl-internal-page .icl-visual-section,
    #main-content.icl-internal-page .icl-session-visual,
    #main-content.icl-internal-page .icl-progress-visual,
    #main-content.icl-internal-page .icl-faq-image-lead {
        min-height: 0 !important;
        height: auto !important;
    }

    /* One-column media flows: no stretched grid track between copy and photo. */
    #main-content.icl-internal-page .icl-visual-grid,
    #main-content.icl-internal-page .icl-session-grid,
    #main-content.icl-internal-page .icl-protocol-grid,
    #main-content.icl-internal-page .icl-two-column,
    #main-content.icl-internal-page .icl-two-column-wide,
    #main-content.icl-internal-page .icl-two-column-form,
    #main-content.icl-internal-page .icl-contact-form-visual,
    #main-content.icl-internal-page .icl-anatomy-layout {
        grid-template-columns: 1fr !important;
        grid-auto-rows: auto !important;
        align-items: start !important;
        align-content: start !important;
        gap: 22px !important;
        min-height: 0 !important;
        height: auto !important;
    }

    #main-content.icl-internal-page .icl-visual-copy,
    #main-content.icl-internal-page .icl-visual-media,
    #main-content.icl-internal-page .icl-session-grid > *,
    #main-content.icl-internal-page .icl-contact-form-visual > *,
    #main-content.icl-internal-page .icl-anatomy-copy,
    #main-content.icl-internal-page .icl-anatomy-collage {
        min-height: 0 !important;
        height: auto !important;
        align-self: start !important;
    }

    /* Photographs follow the text immediately and keep their natural ratio. */
    #main-content.icl-internal-page .icl-visual-media .icl-managed-photo,
    #main-content.icl-internal-page .icl-session-grid .icl-managed-photo,
    #main-content.icl-internal-page .icl-contact-form-visual .icl-managed-photo,
    #main-content.icl-internal-page .icl-faq-image-lead .icl-managed-photo {
        width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        align-self: start !important;
    }

    #main-content.icl-internal-page .icl-visual-media .icl-photo-frame-media,
    #main-content.icl-internal-page .icl-session-grid .icl-photo-frame-media,
    #main-content.icl-internal-page .icl-contact-form-visual .icl-photo-frame-media,
    #main-content.icl-internal-page .icl-faq-image-lead .icl-photo-frame-media {
        width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
        aspect-ratio: auto !important;
    }

    #main-content.icl-internal-page .icl-visual-media .icl-photo-frame-media > img,
    #main-content.icl-internal-page .icl-session-grid .icl-photo-frame-media > img,
    #main-content.icl-internal-page .icl-contact-form-visual .icl-photo-frame-media > img,
    #main-content.icl-internal-page .icl-faq-image-lead .icl-photo-frame-media > img {
        display: block !important;
        width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
        max-height: none !important;
        object-fit: contain !important;
        object-position: center center !important;
        transform: none !important;
    }

    /* Results / EVOLUCIÓN: show all three photographs vertically on phones.
     * This is more reliable and easier to read than an off-screen horizontal rail.
     */
    #main-content.icl-internal-page-resultados .icl-progress-visual .icl-progression-demo {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 24px !important;
        overflow: visible !important;
        padding-bottom: 0 !important;
        scroll-snap-type: none !important;
    }

    #main-content.icl-internal-page-resultados .icl-progress-visual .icl-progression-item {
        width: 100% !important;
        min-width: 0 !important;
        scroll-snap-align: none !important;
    }

    #main-content.icl-internal-page-resultados .icl-progress-visual .icl-progression-photo {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 1 / 1 !important;
        margin: 0 !important;
        overflow: hidden !important;
    }

    #main-content.icl-internal-page-resultados .icl-progress-visual .icl-progression-photo .icl-photo-frame-media {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 100% !important;
        aspect-ratio: 1 / 1 !important;
        overflow: hidden !important;
    }

    #main-content.icl-internal-page-resultados .icl-progress-visual .icl-progression-photo .icl-photo-frame-media > img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 100% !important;
        max-height: none !important;
        object-fit: cover !important;
        object-position: var(--icl-photo-x, 50%) var(--icl-photo-y, 50%) !important;
        transform: scale(var(--icl-photo-zoom, 1)) !important;
        transform-origin: var(--icl-photo-x, 50%) var(--icl-photo-y, 50%) !important;
    }

    /* Tight but comfortable section rhythm on phones. */
    #main-content.icl-internal-page .icl-progress-visual,
    #main-content.icl-internal-page .icl-faq-image-lead,
    #main-content.icl-internal-page .icl-session-visual,
    #main-content.icl-internal-page .icl-visual-section {
        padding-top: 42px !important;
        padding-bottom: 42px !important;
    }
}

/* ===== v1.8.23 mobile intrinsic-ratio hardening for internal pages =====
 * CSS safety net for the JS intrinsic-ratio routine in main.js. The JS owns
 * the exact native aspect ratio on phones; these rules prevent any legacy
 * grid/flex min-height from reserving empty vertical space around the media.
 * Desktop is intentionally untouched.
 */
@media (max-width: 767px) {
    #main-content.icl-internal-page .icl-managed-photo,
    #main-content.icl-internal-page .icl-managed-photo-wide,
    #main-content.icl-internal-page .icl-photo-frame-media,
    #main-content.icl-internal-page .icl-visual-media,
    #main-content.icl-internal-page .icl-anatomy-collage,
    #main-content.icl-internal-page .icl-clinic-media,
    #main-content.icl-internal-page .icl-clinic-feature-wrap {
        min-height: 0 !important;
        max-height: none !important;
    }

    #main-content.icl-internal-page .icl-managed-photo,
    #main-content.icl-internal-page .icl-managed-photo-wide,
    #main-content.icl-internal-page .icl-visual-media,
    #main-content.icl-internal-page .icl-anatomy-collage {
        height: auto !important;
        align-self: start !important;
    }

    #main-content.icl-internal-page .icl-photo-caption {
        position: static !important;
        min-height: 0 !important;
        height: auto !important;
    }

    /* Keep media and their captions in normal document flow. */
    #main-content.icl-internal-page .icl-managed-photo,
    #main-content.icl-internal-page .icl-managed-photo-wide {
        margin-top: 0 !important;
        margin-bottom: 18px !important;
    }

    #main-content.icl-internal-page .icl-anatomy-photo-main,
    #main-content.icl-internal-page .icl-anatomy-photo-detail {
        position: static !important;
        width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
        transform: none !important;
    }

    #main-content.icl-internal-page .icl-anatomy-collage {
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-auto-rows: auto !important;
        gap: 18px !important;
        padding-bottom: 0 !important;
    }
}

/* ===== v1.8.25 Candidates & Safety final CTA text contrast =====
 * Keep the existing Resultados-style editorial structure unchanged.
 * Only restores the light-on-navy palette so all CTA text remains legible.
 */
#main-content.icl-internal-page-candidatos-y-seguridad .icl-safety-final-cta {
    color: var(--icl-warm) !important;
}
#main-content.icl-internal-page-candidatos-y-seguridad .icl-safety-final-cta .icl-eyebrow {
    color: #B8C6BF !important;
}
#main-content.icl-internal-page-candidatos-y-seguridad .icl-safety-final-cta h2 {
    color: var(--icl-warm) !important;
}
#main-content.icl-internal-page-candidatos-y-seguridad .icl-safety-final-cta .icl-prose p {
    color: #D8DDDA !important;
}
#main-content.icl-internal-page-candidatos-y-seguridad .icl-safety-final-cta .icl-text-link-light {
    color: var(--icl-warm) !important;
    border-bottom-color: rgba(248,247,243,.36) !important;
}

/* ===== v1.8.26 Candidates & Safety CTA contrast hardening =====
 * Scoped fallback for environments that cache older page-level selectors.
 * The markup also carries explicit inline palette values so this critical
 * light-on-navy contrast cannot inherit the default navy text color.
 */
.icl-safety-final-cta.icl-bg-navy,
.icl-safety-final-cta.icl-section-light {
    color: #F8F7F3 !important;
}
.icl-safety-final-cta .icl-eyebrow {
    color: #B8C6BF !important;
}
.icl-safety-final-cta h2 {
    color: #F8F7F3 !important;
}
.icl-safety-final-cta .icl-prose p {
    color: #D8DDDA !important;
}
.icl-safety-final-cta .icl-text-link,
.icl-safety-final-cta .icl-text-link-light {
    color: #F8F7F3 !important;
    border-bottom-color: rgba(248,247,243,.36) !important;
}


/* ===== v1.8.27 Candidates & Safety CTA contrast — legacy + current markup =====
 * The live WordPress page may still contain the pre-v1.8.24 saved CTA markup
 * (.icl-conversion-cta).  Previous fixes targeted only the newer
 * .icl-safety-final-cta markup.  This page-scoped rule covers BOTH shapes.
 */
#main-content.icl-internal-page-candidatos-y-seguridad .icl-page-content .icl-conversion-layout.icl-safety-visual .icl-conversion-cta,
#main-content.icl-internal-page-candidatos-y-seguridad .icl-page-content .icl-conversion-layout.icl-safety-visual .icl-conversion-cta-inner,
#main-content.icl-internal-page-candidatos-y-seguridad .icl-page-content .icl-conversion-layout.icl-safety-visual .icl-safety-final-cta,
#main-content.icl-internal-page-candidatos-y-seguridad .icl-page-content .icl-conversion-layout.icl-safety-visual .icl-safety-final-cta .icl-conversion-heading {
    color: #F8F7F3 !important;
}
#main-content.icl-internal-page-candidatos-y-seguridad .icl-page-content .icl-conversion-layout.icl-safety-visual .icl-conversion-cta h2,
#main-content.icl-internal-page-candidatos-y-seguridad .icl-page-content .icl-conversion-layout.icl-safety-visual .icl-safety-final-cta h2 {
    color: #F8F7F3 !important;
    -webkit-text-fill-color: #F8F7F3 !important;
    opacity: 1 !important;
    visibility: visible !important;
}
#main-content.icl-internal-page-candidatos-y-seguridad .icl-page-content .icl-conversion-layout.icl-safety-visual .icl-conversion-cta .icl-eyebrow,
#main-content.icl-internal-page-candidatos-y-seguridad .icl-page-content .icl-conversion-layout.icl-safety-visual .icl-safety-final-cta .icl-eyebrow {
    color: #B8C6BF !important;
    -webkit-text-fill-color: #B8C6BF !important;
    opacity: 1 !important;
    visibility: visible !important;
}
#main-content.icl-internal-page-candidatos-y-seguridad .icl-page-content .icl-conversion-layout.icl-safety-visual .icl-conversion-cta p:not(.icl-eyebrow),
#main-content.icl-internal-page-candidatos-y-seguridad .icl-page-content .icl-conversion-layout.icl-safety-visual .icl-safety-final-cta .icl-prose p:not(.icl-eyebrow) {
    color: #D8DDDA !important;
    -webkit-text-fill-color: #D8DDDA !important;
    opacity: 1 !important;
    visibility: visible !important;
}
#main-content.icl-internal-page-candidatos-y-seguridad .icl-page-content .icl-conversion-layout.icl-safety-visual .icl-conversion-cta a.icl-button-light {
    background: #F8F7F3 !important;
    border-color: #F8F7F3 !important;
    color: #242C43 !important;
    -webkit-text-fill-color: #242C43 !important;
    opacity: 1 !important;
    visibility: visible !important;
}
#main-content.icl-internal-page-candidatos-y-seguridad .icl-page-content .icl-conversion-layout.icl-safety-visual .icl-safety-final-cta .icl-text-link,
#main-content.icl-internal-page-candidatos-y-seguridad .icl-page-content .icl-conversion-layout.icl-safety-visual .icl-safety-final-cta .icl-text-link-light {
    color: #F8F7F3 !important;
    -webkit-text-fill-color: #F8F7F3 !important;
    border-bottom-color: rgba(248,247,243,.36) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* v1.8.27 final page-scope guard: does not depend on a stored wrapper class. */
#main-content.icl-internal-page-candidatos-y-seguridad .icl-conversion-cta,
#main-content.icl-internal-page-candidatos-y-seguridad .icl-conversion-cta-inner,
#main-content.icl-internal-page-candidatos-y-seguridad .icl-safety-final-cta {
    color: #F8F7F3 !important;
}
#main-content.icl-internal-page-candidatos-y-seguridad .icl-conversion-cta h2,
#main-content.icl-internal-page-candidatos-y-seguridad .icl-safety-final-cta h2 {
    color: #F8F7F3 !important;
    -webkit-text-fill-color: #F8F7F3 !important;
    opacity: 1 !important;
    visibility: visible !important;
}
#main-content.icl-internal-page-candidatos-y-seguridad .icl-conversion-cta .icl-eyebrow,
#main-content.icl-internal-page-candidatos-y-seguridad .icl-safety-final-cta .icl-eyebrow {
    color: #B8C6BF !important;
    -webkit-text-fill-color: #B8C6BF !important;
    opacity: 1 !important;
    visibility: visible !important;
}
#main-content.icl-internal-page-candidatos-y-seguridad .icl-conversion-cta p:not(.icl-eyebrow),
#main-content.icl-internal-page-candidatos-y-seguridad .icl-safety-final-cta .icl-prose p:not(.icl-eyebrow) {
    color: #D8DDDA !important;
    -webkit-text-fill-color: #D8DDDA !important;
    opacity: 1 !important;
    visibility: visible !important;
}
#main-content.icl-internal-page-candidatos-y-seguridad .icl-conversion-cta a.icl-button-light {
    background: #F8F7F3 !important;
    border-color: #F8F7F3 !important;
    color: #242C43 !important;
    -webkit-text-fill-color: #242C43 !important;
    opacity: 1 !important;
    visibility: visible !important;
}
#main-content.icl-internal-page-candidatos-y-seguridad .icl-safety-final-cta .icl-text-link,
#main-content.icl-internal-page-candidatos-y-seguridad .icl-safety-final-cta .icl-text-link-light {
    color: #F8F7F3 !important;
    -webkit-text-fill-color: #F8F7F3 !important;
    border-bottom-color: rgba(248,247,243,.36) !important;
    opacity: 1 !important;
    visibility: visible !important;
}


/* =========================================================
   v1.8.28 · Candidatos y seguridad · modales informativos
   ========================================================= */
.icl-info-modal-control { margin-top: 28px; }
.icl-info-modal-trigger {
    appearance: none;
    border: 1px solid var(--icl-navy, #242C43);
    background: transparent;
    color: var(--icl-navy, #242C43);
    min-height: 48px;
    padding: 0 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    font-family: var(--icl-sans, 'Montserrat', sans-serif);
    font-size: .82rem;
    font-weight: 650;
    letter-spacing: .01em;
    cursor: pointer;
    transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
.icl-info-modal-trigger:hover,
.icl-info-modal-trigger:focus-visible { background: var(--icl-navy, #242C43); color: #F8F7F3; }
.icl-info-modal-trigger.is-light { border-color: rgba(248,247,243,.72); color: #F8F7F3; }
.icl-info-modal-trigger.is-light:hover,
.icl-info-modal-trigger.is-light:focus-visible { background: #F8F7F3; color: var(--icl-navy, #242C43); border-color: #F8F7F3; }
.icl-info-modal[hidden] { display: none !important; }
.icl-info-modal {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: grid;
    place-items: center;
    padding: 28px;
}
.icl-info-modal-backdrop { position: absolute; inset: 0; background: rgba(14, 20, 34, .72); backdrop-filter: blur(3px); }
.icl-info-modal-dialog {
    position: relative;
    z-index: 1;
    width: min(780px, calc(100vw - 56px));
    height: auto;
    min-height: 0;
    max-height: calc(100dvh - 56px);
    overflow-x: hidden;
    overflow-y: auto;
    display: block;
    background: #F8F7F3;
    color: var(--icl-navy, #242C43);
    border-radius: 12px;
    box-shadow: 0 24px 70px rgba(10, 16, 29, .22);
    padding: 30px 62px 24px;
    outline: none;
}
.icl-info-modal-close {
    position: absolute;
    top: 14px;
    right: 16px;
    width: 38px;
    height: 38px;
    border: 0;
    background: transparent;
    color: var(--icl-navy, #242C43);
    font-size: 1.6rem;
    line-height: 1;
    cursor: pointer;
}
.icl-info-modal-hint {
    margin: 0 34px 12px;
    text-align: center;
    color: #65716d;
    font-family: var(--icl-sans, 'Montserrat', sans-serif);
    font-size: .72rem;
    font-style: italic;
    line-height: 1.5;
}
#icl-possible-risks-modal .icl-info-modal-dialog {
    padding-top: 16px;
}
#icl-possible-risks-modal .icl-info-modal-hint {
    margin: 0 34px 18px;
    padding: 0 0 14px;
    border-bottom: 1px solid var(--icl-navy, #242C43);
    color: #65716d;
    font-size: var(--icl-modal-hint-size-pc, 11px);
    line-height: 1.45;
    text-align: justify;
    text-align-last: center;
    hyphens: auto;
}
.icl-info-modal-stage { position: relative; min-width: 0; min-height: 0; max-height: none; overflow: visible; display: block; padding: 0; margin: 0; }
.icl-info-modal-slide { display: none; min-width: 0; padding: 0; margin: 0; transform: none; overflow-wrap: anywhere; }
.icl-info-modal-slide.is-active { display: block; opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
.icl-info-modal-slide h3 {
    margin: 0 0 16px;
    color: var(--icl-sage, #7D9188);
    font-family: var(--icl-sans, 'Montserrat', sans-serif);
    font-size: clamp(1.2rem, 2vw, 1.55rem);
    font-weight: 600;
    line-height: 1.2;
}
.icl-info-modal-slide p {
    margin: 0;
    color: var(--icl-navy, #242C43);
    font-family: var(--icl-sans, 'Montserrat', sans-serif);
    font-size: .97rem;
    line-height: 1.62;
    max-width: 62ch;
}
.icl-info-modal-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-45%);
    width: 38px;
    height: 48px;
    border: 0;
    background: transparent;
    color: rgba(36,44,67,.48);
    font-size: 2.2rem;
    line-height: 1;
    cursor: pointer;
}
.icl-info-modal-arrow:hover,
.icl-info-modal-arrow:focus-visible { color: var(--icl-navy, #242C43); }
.icl-info-modal-prev { left: 12px; }
.icl-info-modal-next { right: 12px; }
.icl-info-modal-dots { display: none; }
.icl-info-modal-dot { width: 10px; height: 10px; border-radius: 50%; border: 0; background: #CFD1D0; padding: 0; cursor: pointer; }
.icl-info-modal-dot.is-active { background: #66798a; }
body.icl-modal-open { overflow: hidden; }

.icl-language-switcher { display:flex; align-items:center; gap:7px; margin-left:14px; white-space:nowrap; font-family:var(--icl-sans,'Montserrat',sans-serif); font-size:.68rem; letter-spacing:.09em; color:var(--icl-navy,#242C43); }
.icl-language-switcher a { color:inherit; text-decoration:none; opacity:.55; padding:8px 2px; }
.icl-language-switcher a[aria-current="page"] { opacity:1; font-weight:700; }
.icl-language-switcher a:focus-visible { outline:2px solid var(--icl-sage,#8BA89D); outline-offset:3px; }
.icl-legal-pending { opacity:.72; font-size:.88em; }

@media (max-width: 900px) {
    .icl-language-switcher { order:2; margin-left:auto; margin-right:8px; }
    .icl-menu-toggle { order:3; }
    .icl-primary-nav { order:4; }
}

@media (max-width: 700px) {
    .icl-info-modal { padding: 16px; }
    .icl-info-modal-dialog {
        width: calc(100vw - 32px);
        min-height: 0;
        max-height: calc(100dvh - 32px);
        padding: 42px 38px 24px;
        overflow-y: auto;
    }
    .icl-info-modal-hint { margin: 0 8px 12px; font-size: .68rem; }
    #icl-possible-risks-modal .icl-info-modal-dialog { padding-top: 21px; }
    #icl-possible-risks-modal .icl-info-modal-hint {
        margin: 0 8px 16px;
        padding-bottom: 12px;
        font-size: var(--icl-modal-hint-size-mobile, 10px);
    }
    .icl-info-modal-stage { min-height: 0; max-height: none; padding: 0; }
    .icl-info-modal-slide h3 { font-size: 1.18rem; margin-bottom: 14px; }
    .icl-info-modal-slide p { font-size: .9rem; line-height: 1.58; }
    .icl-info-modal-arrow { top: 56%; width: 32px; height: 46px; font-size: 2rem; }
    .icl-info-modal-prev { left: 2px; }
    .icl-info-modal-next { right: 2px; }
    .icl-info-modal-dots { gap: 8px; padding-top: 10px; }
    .icl-info-modal-dot { width: 9px; height: 9px; }
    .icl-info-modal-trigger { width: 100%; min-height: 50px; }
}

@media (prefers-reduced-motion: reduce) {
    .icl-info-modal-slide, .icl-info-modal-trigger { transition: none !important; }
}

/* =========================================================
   v1.8.29 · Candidates & Safety modal trigger visibility guard
   Ensures both requested CTA buttons remain visible in desktop/mobile even
   if legacy section/reveal styles from an earlier generated page are cached.
   ========================================================= */
.icl-safety-visual .icl-info-modal-control {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}
.icl-safety-visual .icl-info-modal-trigger {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}
@media (max-width: 700px) {
    .icl-safety-visual .icl-info-modal-trigger { display: flex !important; width: 100% !important; }
}

/* 1.8.37: bounded clinic media, shared by Home and Contact. */
#main-content .icl-clinic-card { min-height: 0; }
#main-content .icl-clinic-media { height: auto !important; min-height: 0 !important; max-height: none !important; padding: 0 !important; margin: 0 0 20px !important; display: block; }
#main-content .icl-clinic-carousel { position: relative; width: 100%; margin: 0; padding: 0; overflow: hidden; border-radius: 12px; }
#main-content .icl-clinic-carousel-stage { position: relative; width: 100%; height: auto; min-height: 0; aspect-ratio: 3 / 2; padding: 0; margin: 0; }
#main-content .icl-clinic-slide { position: absolute; inset: 0; margin: 0; padding: 0; opacity: 0; pointer-events: none; transition: opacity .45s ease; }
#main-content .icl-clinic-slide.is-active { opacity: 1; pointer-events: auto; }
#main-content .icl-clinic-carousel .icl-clinic-slide img { display: block !important; position: absolute; inset: 0; width: 100% !important; height: 100% !important; min-height: 0 !important; max-height: none !important; aspect-ratio: auto !important; object-fit: cover; margin: 0 !important; padding: 0 !important; }
#main-content .icl-clinic-carousel button { position: absolute; top: 50%; transform: translateY(-50%); z-index: 4; width: 38px; height: 44px; padding: 0; border: 0; border-radius: 8px; background: rgba(248,247,243,.88); color: #242C43; font-size: 28px; line-height: 1; }
#main-content .icl-clinic-prev { left: 10px; }
#main-content .icl-clinic-next { right: 10px; }
@media(max-width:760px) {
    #main-content .icl-clinic-media { margin-bottom: 16px !important; }
    #main-content .icl-clinic-card { height: auto !important; min-height: 0 !important; grid-template-rows: auto !important; align-content: start; }
}
@media(prefers-reduced-motion:reduce) { #main-content .icl-clinic-slide { transition: none; } }

/* English headings must fit their column even when editors enter longer copy. */
html:lang(en) #main-content .icl-hero h1 {
    max-width: 100%;
}
/* 1.9.4: three procedure results on desktop; stacked cards on mobile. */
#main-content.icl-internal-page-procedimiento .icl-conversion-results .icl-case-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}
#main-content.icl-internal-page-procedimiento .icl-conversion-results .icl-case-grid > .icl-case-card {
    grid-column: auto;
    width: auto;
    min-width: 0;
}
@media (max-width: 767px) {
    #main-content.icl-internal-page-procedimiento .icl-conversion-results .icl-case-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}
html:lang(en) #main-content .icl-hero .icl-hero-title-line,
html:lang(en) #main-content .icl-hero h1 em {
    white-space: normal;
    overflow-wrap: anywhere;
    max-width: 100%;
}

/* 1.9.5: safety results and readable risk notes. */
/* 1.9.4: three procedure results on desktop; stacked cards on mobile. */
#main-content.icl-internal-page-candidatos-y-seguridad .icl-conversion-results .icl-case-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}
#main-content.icl-internal-page-candidatos-y-seguridad .icl-conversion-results .icl-case-grid > .icl-case-card {
    grid-column: auto;
    width: auto;
    min-width: 0;
}
@media (max-width: 767px) {
    #main-content.icl-internal-page-candidatos-y-seguridad .icl-conversion-results .icl-case-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

#icl-possible-risks-modal .icl-info-modal-hint {
 color: #495651;
 font-size: max(13px, var(--icl-modal-hint-size-pc, 13px));
 text-align: center;
 hyphens: none;
 overflow-wrap: normal;
 word-break: normal;
}
@media (max-width: 767px) {
 #icl-possible-risks-modal .icl-info-modal-hint {
  font-size: max(12px, var(--icl-modal-hint-size-mobile, 12px));
 }
}

/* 1.9.9: persistent header social links, sharing footer URLs and sage. */
.icl-header-inner { gap: 18px; }
.icl-header-social { margin: 0; gap: 6px; flex-shrink: 0; }
.icl-header-social a { width: 34px; height: 34px; border-color: currentColor; color: var(--icl-sage); }
.icl-header-social a:hover, .icl-header-social a:focus-visible { color: var(--icl-sage); background: rgba(125,145,136,.12); }
.icl-header-social a:focus-visible { outline: 2px solid var(--icl-sage); outline-offset: 2px; }
.icl-header-inner > .icl-language-switcher { margin-left: 0; flex-shrink: 0; }
@media (min-width: 901px) and (max-width: 1200px) {
    .icl-header-inner { gap: 10px; }
    .icl-header-inner .icl-menu { gap: 12px; }
    .icl-header-inner .icl-brand .icl-default-logo { width: 150px; }
    .icl-header-social { gap: 3px; }
    .icl-header-social a { width: 30px; height: 30px; }
}
@media (max-width: 900px) {
    .icl-header-inner { gap: 8px; }
    .icl-header-inner > .icl-brand { order: 0; flex-shrink: 0; }
    .icl-header-inner .icl-brand .icl-default-logo { width: 120px; }
    .icl-header-social { order: 1; margin-left: auto; gap: 2px; }
    .icl-header-social a { width: 30px; height: 32px; }
    .icl-header-inner > .icl-language-switcher { order: 2; margin: 0; gap: 4px; }
    .icl-header-inner > .icl-menu-toggle { order: 3; flex-shrink: 0; width: 32px; margin: 0; }
}
@media (max-width: 374px) {
    .icl-header-inner { gap: 4px; }
    .icl-header-inner .icl-brand .icl-default-logo { width: 96px; }
    .icl-header-social a { width: 28px; }
    .icl-header-inner > .icl-language-switcher { gap: 2px; font-size: .6rem; }
    .icl-header-inner > .icl-menu-toggle { width: 28px; }
}

/* 1.9.10: keep the mobile registered mark outside the upper-right logo edge.
   Relative vertical placement follows both 120px and 96px mobile logos. */
@media (max-width: 900px) {
    .icl-site-header .icl-brand::after {
        top: 8%;
        right: auto;
        left: calc(100% + 1px);
        font-size: 7px;
        line-height: 1;
        transform: none;
        pointer-events: none;
    }
    .icl-site-header .icl-brand { margin-right: 8px; }
}

/* 1.9.11: fixed navigation independent of page/overflow containers. */
:root { --icl-header-offset: 83px; --icl-admin-offset: 0px; }
html:has(body.admin-bar) { --icl-admin-offset: 32px; }
.icl-site-header, body.admin-bar .icl-site-header {
    position: fixed;
    top: var(--icl-admin-offset);
    left: 0;
    right: 0;
    width: 100%;
}
.icl-header-spacer { height: var(--icl-header-offset); flex-shrink: 0; }
html { scroll-padding-top: calc(var(--icl-header-offset) + var(--icl-admin-offset) + 16px); }
@media (min-width: 901px) and (max-width: 1120px) {
    :root { --icl-header-offset: 79px; }
}
@media (max-width: 900px) {
    :root { --icl-header-offset: 75px; }
    body.icl-menu-open .icl-site-header,
    body.admin-bar.icl-menu-open .icl-site-header {
        top: var(--icl-admin-offset);
        height: calc(100dvh - var(--icl-admin-offset));
        min-height: 0;
    }
    .icl-site-header .icl-primary-nav {
        inset: var(--icl-header-offset) 0 0 !important;
        overscroll-behavior: contain;
    }
}
@media (max-width: 782px) {
    html:has(body.admin-bar) { --icl-admin-offset: 46px; }
}
@media (max-width: 620px) {
    :root { --icl-header-offset: 71px; }
}

/* 1.9.14: text-only legal dialog, with no file links or PDF viewer. */
body.icl-legal-open { overflow: hidden; }
.icl-footer-menu .icl-legal-trigger { display: inline; padding: 0; margin: 0; border: 0; background: transparent; color: inherit; font: inherit; line-height: inherit; text-align: left; cursor: pointer; }
.icl-legal-trigger:hover { text-decoration: underline; }
.icl-legal-trigger:focus-visible { outline: 2px solid var(--icl-sage); outline-offset: 4px; }
.icl-legal-dialog { width: min(1040px, calc(100vw - 40px)); height: min(900px, calc(100dvh - 40px)); max-width: none; max-height: none; margin: auto; padding: 0; border: 0; border-radius: 12px; background: #F8F7F3; color: #242C43; overflow: hidden; box-shadow: 0 20px 80px rgba(0,0,0,.25); }
.icl-legal-dialog::backdrop { background: rgba(14,20,34,.72); }
.icl-legal-dialog[open] { display: flex; flex-direction: column; }
.icl-legal-toolbar { display: flex; align-items: center; gap: 14px; padding: 16px 24px; border-bottom: 1px solid var(--icl-border); flex-shrink: 0; }
.icl-legal-toolbar h2 { flex: 1; min-width: 0; margin: 0; font-family: var(--icl-sans); font-size: 18px; line-height: 1.4; letter-spacing: 0; }
.icl-legal-close { display: grid; place-items: center; flex-shrink: 0; width: 44px; height: 44px; padding: 0; border: 1px solid var(--icl-border); border-radius: 6px; background: transparent; color: #242C43; font-size: 26px; cursor: pointer; }
.icl-legal-close:focus-visible, .icl-legal-scroll:focus-visible { outline: 2px solid var(--icl-sage); outline-offset: -2px; }
.icl-legal-scroll { flex: 1; min-height: 0; overflow: auto; overscroll-behavior: contain; padding: 28px 36px; }
.icl-legal-text { max-width: 78ch; margin: 0 auto; white-space: pre-wrap; overflow-wrap: anywhere; color: #242C43; font-family: var(--icl-sans); font-size: 16px; line-height: 1.75; }
@media (max-width: 620px) {
    .icl-legal-dialog { width: calc(100vw - 12px); height: calc(100dvh - 12px); border-radius: 8px; }
    .icl-legal-toolbar { gap: 8px; padding: 10px 14px; }
    .icl-legal-toolbar h2 { font-size: 16px; }
    .icl-legal-scroll { padding: 20px 18px; }
    .icl-legal-text { font-size: 15px; line-height: 1.7; }
}
