/* 1IIM V3: a portal to five worlds, with original ornament and native Elementor components. */
:root {
    --iim-ink: #0d1220;
    --iim-ink-soft: #141c2b;
    --iim-surface: #182130;
    --iim-surface-raised: #1d2838;
    --iim-paper: #e8eaf0;
    --iim-paper-deep: #111927;
    --iim-white: #f5f3ed;
    --iim-gold: #d6b777;
    --iim-blue: #9aacff;
    --iim-purple: #bb9be8;
    --iim-muted: #b1bacb;
    --iim-border: rgba(198, 209, 234, .14);
    --iim-serif: Georgia, 'Times New Roman', serif;
    --iim-sans: Arial, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --iim-radius: 16px;
    --iim-space: clamp(24px, 4vw, 64px);
    --iim-project-accent: var(--iim-gold);
    --iim-project-glow: rgba(214, 183, 119, .09);
    --iim-ornament-divider: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20400%2040%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%222%22%3E%3Cpath%20d%3D%22M0%2020h130%20M270%2020h130%20M130%2020l30-12%2040%2012-40%2012z%20M270%2020l-30-12-40%2012%2040%2012z%20M200%203l12%2017-12%2017-12-17z%22%2F%3E%3C%2Fsvg%3E");
    --iim-ornament-universal: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20400%20400%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%222%22%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22200%22%20r%3D%22184%22%20stroke-opacity%3D%22.8%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22200%22%20r%3D%22175%22%20stroke-opacity%3D%22.35%22%2F%3E%3Cpath%20d%3D%22M200%201l12%2020-12%2020-12-20z%20M399%20200l-20%2012-20-12%2020-12z%20M200%20399l-12-20%2012-20%2012%2020z%20M1%20200l20-12%2020%2012-20%2012z%22%2F%3E%3Cpath%20d%3D%22M65%2065l18%203-15%2015z%20M335%2065l-3%2018-15-15z%20M335%20335l-18-3%2015-15z%20M65%20335l3-18%2015%2015z%22%2F%3E%3C%2Fsvg%3E");
    --iim-ornament-historic: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20400%20400%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%222%22%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22200%22%20r%3D%22188%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22200%22%20r%3D%22174%22%20stroke-opacity%3D%22.5%22%2F%3E%3Cpath%20d%3D%22M165%2010h70v22h-70z%20M178%2010v22%20M190%2010v22%20M210%2010v22%20M222%2010v22%20M165%20390h70v-22h-70z%20M178%20390v-22%20M190%20390v-22%20M210%20390v-22%20M222%20390v-22%20M10%20165v70h22v-70z%20M390%20165v70h-22v-70z%20M45%2095l13-17%2016%2012-13%2017z%20M355%2095l-13-17-16%2012%2013%2017z%20M45%20305l13%2017%2016-12-13-17z%20M355%20305l-13%2017-16-12%2013-17z%22%2F%3E%3C%2Fsvg%3E");
    --iim-ornament-harvest: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20400%20400%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%222%22%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22200%22%20r%3D%22187%22%20stroke-opacity%3D%22.5%22%2F%3E%3Cpath%20d%3D%22M75%2040Q12%20110%2021%20200Q11%20283%2070%20351%20M325%2040Q388%20110%20379%20200Q389%20283%20330%20351%22%2F%3E%3Cpath%20d%3D%22M58%2070Q18%2059%2029%20102Q56%20104%2058%2070z%20M34%20121Q1%20110%2011%20157Q34%20156%2034%20121z%20M21%20181Q0%20182%205%20213Q25%20211%2021%20181z%20M30%20243Q0%20239%2015%20278Q40%20272%2030%20243z%20M51%20299Q12%20300%2042%20331Q70%20322%2051%20299z%20M342%2070Q382%2059%20371%20102Q344%20104%20342%2070z%20M366%20121Q399%20110%20389%20157Q366%20156%20366%20121z%20M379%20181Q400%20182%20395%20213Q375%20211%20379%20181z%20M370%20243Q400%20239%20385%20278Q360%20272%20370%20243z%20M349%20299Q388%20300%20358%20331Q330%20322%20349%20299z%22%2F%3E%3Cpath%20d%3D%22M183%2013l17-10%2017%2010-17%2010z%20M182%20386l18-10%2018%2010-18%2010z%22%2F%3E%3C%2Fsvg%3E");
    --iim-ornament-medal: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20400%20420%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%222%22%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22195%22%20r%3D%22181%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22195%22%20r%3D%22170%22%20stroke-dasharray%3D%223%209%22%20stroke-width%3D%223%22%2F%3E%3Cpath%20d%3D%22M200%200l8%2016%2018%203-13%2013%203%2018-16-8-16%208%203-18-13-13%2018-3z%20M83%20330l-12%2068%2031-17%2025%2026%2013-52%20M317%20330l12%2068-31-17-25%2026-13-52%22%2F%3E%3Cpath%20d%3D%22M20%20181l-14%2014%2014%2014%20M380%20181l14%2014-14%2014%22%2F%3E%3Cpath%20d%3D%22M83%2078l8-10%20M101%2062l8-7%20M309%2068l8%2010%20M291%2055l8%207%22%2F%3E%3C%2Fsvg%3E");
    --iim-ornament-city: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20400%20400%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%222%22%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22200%22%20r%3D%22183%22%20stroke-dasharray%3D%222%208%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22200%22%20r%3D%22192%22%20stroke-opacity%3D%22.45%22%2F%3E%3Cpath%20d%3D%22M100%2025H25v75%20M300%2025h75v75%20M25%20300v75h75%20M375%20300v75h-75%20M160%204v30%20M180%204v19%20M200%200v38%20M220%204v19%20M240%204v30%20M160%20396v-30%20M180%20396v-19%20M200%20400v-38%20M220%20396v-19%20M240%20396v-30%20M4%20160h30%20M4%20180h19%20M0%20200h38%20M4%20220h19%20M4%20240h30%20M396%20160h-30%20M396%20180h-19%20M400%20200h-38%20M396%20220h-19%20M396%20240h-30%22%2F%3E%3C%2Fsvg%3E");
    --iim-ornament-tower: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20400%20400%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%222%22%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22200%22%20r%3D%22188%22%20stroke-opacity%3D%22.55%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22200%22%20r%3D%22177%22%20stroke-dasharray%3D%2210%2018%22%2F%3E%3Cpath%20d%3D%22M200%200l11%2015-11%2028-11-28z%20M200%20400l11-15-11-28-11%2028z%20M0%20200l15-11%2028%2011-28%2011z%20M400%20200l-15-11-28%2011%2028%2011z%20M64%2056v32l23-23h-23z%20M336%2056v32l-23-23h23z%20M64%20344v-32l23%2023h-23z%20M336%20344v-32l-23%2023h23z%22%2F%3E%3C%2Fsvg%3E");
    --iim-ornament-branch: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20400%2040%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%221.6%22%3E%3Cpath%20d%3D%22M0%2024Q75%2010%20150%2024Q200%2037%20250%2024Q325%2010%20400%2024%22%2F%3E%3Cpath%20d%3D%22M70%2017Q51%200%2037%208Q44%2025%2070%2017z%20M112%2021Q101%2039%2079%2034Q83%2019%20112%2021z%20M157%2025Q137%207%20124%2014Q130%2031%20157%2025z%20M330%2017Q349%200%20363%208Q356%2025%20330%2017z%20M288%2021Q299%2039%20321%2034Q317%2019%20288%2021z%20M243%2025Q263%207%20276%2014Q270%2031%20243%2025z%20M200%2014l9%2010-9%2010-9-10z%22%2F%3E%3C%2Fsvg%3E");
    --iim-ornament-glyph: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20400%2040%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%221.6%22%3E%3Cpath%20d%3D%22M0%2020h125%20M275%2020h125%20M125%2020l17-10%2017%2010-17%2010z%20M275%2020l-17-10-17%2010%2017%2010z%20M175%2020l25-17%2025%2017-25%2017z%20M195%2014h10v12h-10z%22%2F%3E%3C%2Fsvg%3E");
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 24px; }
body { margin: 0; background: var(--iim-ink); color: var(--iim-paper); font-family: var(--iim-sans); font-size: 17px; line-height: 1.75; }
img { max-width: 100%; height: auto; }
figure { margin: 0; }
a { color: var(--iim-blue); text-decoration-thickness: 1px; text-underline-offset: .2em; transition: color .2s ease; }
a:hover { color: var(--iim-gold); }
button, input, textarea, select { font: inherit; }
button, a, input, textarea, select { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
:focus-visible { outline: 3px solid var(--iim-gold); outline-offset: 5px; }
h1, h2, h3, h4, h5, h6 { color: var(--iim-white); font-family: var(--iim-serif); font-weight: 400; line-height: 1.17; margin: 0 0 .7em; }
h1 { font-size: clamp(36px, 5vw, 66px); }
h2 { font-size: clamp(28px, 3.5vw, 46px); }
h3 { font-size: clamp(23px, 2vw, 30px); }
/* Three class selectors beat Elementor's generic Kit typography. Individual
   widget selectors have greater specificity and retain the editor controls. */
.uno-iim-theme .elementor-widget-heading .elementor-heading-title { color: var(--iim-white); font-family: var(--iim-serif); font-weight: 400; line-height: 1.17; }
.uno-iim-theme .elementor-widget-text-editor { font-family: var(--iim-sans); }
p { margin: 0 0 1.15em; }
p:last-child { margin-bottom: 0; }
::selection { color: var(--iim-ink); background: #e7c488; }
.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; }
.screen-reader-text:focus { background: var(--iim-paper); clip: auto; clip-path: none; color: var(--iim-ink); display: block; font-size: 1rem; height: auto; left: 6px; padding: 15px 23px 14px; top: 7px; width: auto; z-index: 100000; }
.iim-skip-link { position: fixed; top: 8px; left: 8px; transform: translateY(-180%); background: var(--iim-paper); color: var(--iim-ink); padding: 12px 20px; border-radius: 6px; z-index: 100000; }
.iim-skip-link:focus { transform: translateY(0); }
.iim-shell { width: min(100%, 1536px); max-width: 1536px; margin-inline: auto; padding-inline: clamp(24px, 4vw, 64px); }
.elementor .elementor-element.iim-shell { width: min(100%, 1536px); max-width: 1536px; margin-inline: auto; --padding-left: clamp(24px, 4vw, 64px); --padding-right: clamp(24px, 4vw, 64px); padding-inline: clamp(24px, 4vw, 64px); }
.iim-page-main { min-height: 35vh; }
.iim-standard-page { padding-block: 88px 112px; }
.iim-page-heading { margin-bottom: 48px; max-width: 1050px; }
.iim-page-title { letter-spacing: -.035em; }
.iim-entry-content { max-width: 70ch; }
.iim-entry-content > * { margin-bottom: 1.4em; }
.iim-entry-content > :last-child { margin-bottom: 0; }
.iim-entry-content .alignwide { max-width: 1408px; width: min(1408px, calc(100vw - 128px)); }
.iim-entry-content .alignfull { max-width: none; width: calc(100vw - 17px); margin-left: calc(-1 * (max(0px, (100vw - 1536px) / 2) + clamp(24px, 4vw, 64px))); }
.iim-entry-content .alignleft { float: left; margin-right: 24px; }
.iim-entry-content .alignright { float: right; margin-left: 24px; }
.iim-entry-content .aligncenter { margin-inline: auto; text-align: center; }
.iim-entry-content::after { content: ''; display: block; clear: both; }
.iim-entry-content blockquote { border-left: 2px solid var(--iim-gold); padding-left: 28px; margin-left: 0; font-family: var(--iim-serif); font-size: 1.35em; color: var(--iim-white); }
.iim-entry-content pre { background: var(--iim-ink-soft); color: var(--iim-paper); overflow: auto; padding: 24px; border: 1px solid var(--iim-border); border-radius: 8px; }
.iim-entry-content table { border-collapse: collapse; width: 100%; }
.iim-entry-content th, .iim-entry-content td { padding: 12px; border: 1px solid var(--iim-border); text-align: left; }
.iim-entry-content figcaption, .wp-caption-text { color: var(--iim-muted); font-size: .85em; }
.iim-kicker, .uno-iim-theme .iim-kicker .elementor-heading-title, .iim-kicker .elementor-widget-container { color: var(--iim-gold); font-family: var(--iim-sans); font-size: 11px; font-weight: 700; line-height: 1.7; letter-spacing: .18em; text-transform: uppercase; }
.iim-display, .uno-iim-theme .iim-display .elementor-heading-title { font-family: var(--iim-serif); font-weight: 400; font-size: clamp(46px, 5.7vw, 88px); line-height: 1.07; letter-spacing: -.045em; text-wrap: balance; }
.iim-display em { color: var(--iim-gold); font-weight: 400; }
.iim-lead, .iim-lead .elementor-widget-container { font-size: clamp(18px, 1.45vw, 21px); line-height: 1.75; color: var(--iim-muted); }
.iim-section { position: relative; padding-block: clamp(68px, 7.2vw, 112px); background: var(--iim-ink); }
.iim-section-alt { background: var(--iim-paper-deep); border-block: 1px solid rgba(198, 209, 234, .045); }
.iim-section-head { max-width: 890px; margin-bottom: 42px; }
.uno-iim-theme .iim-section-head .elementor-heading-title { font-family: var(--iim-serif); font-size: clamp(33px, 3.4vw, 52px); font-weight: 400; line-height: 1.2; letter-spacing: -.035em; text-wrap: balance; }
.iim-section-head p { color: var(--iim-muted); }
.iim-hero { position: relative; isolation: isolate; overflow: hidden; background: #101727; color: var(--iim-paper); padding-block: clamp(70px, 7.6vw, 120px); }
.iim-hero::before { content: ''; position: absolute; pointer-events: none; inset: 0; z-index: -1; background: radial-gradient(ellipse at 80% 25%, rgba(91, 107, 218, .18), transparent 53%), radial-gradient(ellipse at 17% 100%, var(--iim-project-glow), transparent 58%), repeating-linear-gradient(135deg, transparent 0, transparent 159px, rgba(187, 155, 232, .025) 160px, transparent 161px); }
.iim-hero .iim-shell { display: flex; gap: clamp(36px, 5vw, 80px); align-items: center; }
.elementor .elementor-element.iim-hero .iim-shell { --flex-direction: row; flex-direction: row; --gap: clamp(36px, 5vw, 80px); gap: clamp(36px, 5vw, 80px); align-items: center; }
.iim-hero-copy { flex: 1 1 52%; min-width: 0; max-width: 690px; }
.elementor .iim-hero .elementor-element.iim-hero-copy { --width: 52%; width: 52%; --flex-direction: column; flex-direction: column; align-items: flex-start; gap: 28px; }
.iim-hero-art { flex: 1 1 48%; min-width: 0; }
.elementor .iim-hero .elementor-element.iim-hero-art { --width: 48%; width: 48%; }
.iim-hero .iim-kicker, .iim-hero .iim-kicker .elementor-heading-title, .iim-hero .iim-kicker .elementor-widget-container { color: var(--iim-gold); }
.iim-hero h1, .iim-hero h2, .uno-iim-theme .iim-hero .elementor-heading-title { color: var(--iim-paper); }
.iim-hero .iim-lead, .iim-hero .iim-lead .elementor-widget-container { color: #c1c8d8; max-width: 58ch; }
.iim-hero .iim-display { margin: 0; }
.iim-actions, .elementor .elementor-element.iim-actions { display: flex; --flex-direction: row; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 9px; }
.iim-button, .uno-iim-theme .iim-primary .elementor-button, .uno-iim-theme .iim-secondary .elementor-button, .iim-contact-form button, .iim-form-submit { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; border-radius: 5px; padding: 15px 24px; border: 1px solid transparent; font-family: var(--iim-sans); font-size: 12px; font-weight: 700; line-height: 1.45; letter-spacing: .09em; text-transform: uppercase; text-decoration: none; transition: background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.iim-button.iim-primary, .uno-iim-theme .iim-primary .elementor-button, .iim-contact-form button, .iim-form-submit { color: var(--iim-ink); background: var(--iim-gold); }
.elementor-widget.iim-primary { background: none; }
.iim-button.iim-primary:hover, .uno-iim-theme .iim-primary .elementor-button:hover, .iim-contact-form button:hover { color: var(--iim-ink); background: #e3c990; box-shadow: 0 6px 22px rgba(214, 183, 119, .13); transform: translateY(-2px); }
.elementor-widget.iim-primary:hover { background: none; box-shadow: none; }
.iim-secondary, .uno-iim-theme .iim-secondary .elementor-button { background: transparent; color: var(--iim-paper); border-color: rgba(198, 209, 234, .32); }
.elementor-widget.iim-secondary { border: none; }
.iim-secondary:hover, .uno-iim-theme .iim-secondary .elementor-button:hover { background: rgba(198, 209, 234, .06); color: var(--iim-white); border-color: var(--iim-gold); transform: translateY(-2px); }
.iim-hero .iim-secondary .elementor-button, .iim-hero a.iim-secondary, .iim-section-dark .iim-secondary .elementor-button { border-color: rgba(245,241,232,.3); color: var(--iim-paper); background: rgba(245,241,232,.02); }
.iim-hero .iim-secondary .elementor-button:hover, .iim-hero a.iim-secondary:hover { background: rgba(245,241,232,.09); }
.iim-card-stack { position: relative; width: 100%; max-width: 630px; min-height: 560px; margin-inline: auto; }
.elementor .elementor-element.iim-card-stack { --min-height: 560px; min-height: 560px; position: relative; }
.iim-card-stack::before { content: ''; width: 83%; aspect-ratio: 1; border: 1px solid rgba(214, 183, 119, .2); border-radius: 50%; position: absolute; top: 8%; left: 8%; pointer-events: none; box-shadow: 0 0 100px rgba(106, 110, 204, .07), inset 0 0 80px rgba(106, 110, 204, .03); }
.iim-card-stack .iim-stack-card1, .iim-card-stack .iim-stack-card2, .iim-card-stack .iim-stack-card3 { width: 48%; position: absolute; filter: drop-shadow(0 26px 25px rgba(0, 0, 0, .42)); transition: translate .3s ease, filter .3s ease; }
.iim-card-stack .iim-stack-card1 { top: 19%; left: 1%; transform: rotate(-12deg); z-index: 1; }
.iim-card-stack .iim-stack-card2 { top: 28%; left: 17%; width: 66%; transform: rotate(-4deg); z-index: 3; }
.iim-card-stack .iim-stack-card3 { top: 22%; right: 0; transform: rotate(13deg); z-index: 2; }
.uno-iim-theme .iim-card-stack img { display: block; width: 100%; border-radius: 10px; }
.iim-hero-note, .iim-hero-note .elementor-widget-container { color: var(--iim-muted); font-size: 12px; letter-spacing: .035em; }
.iim-project-cover { width: 100%; padding: clamp(20px, 3vw, 42px); border: 1px solid var(--iim-border); border-radius: 24px; background: radial-gradient(ellipse at 50% 32%, var(--iim-project-glow), rgba(13, 18, 32, .25) 74%); }
.uno-iim-theme .iim-project-cover img { display: block; width: 100%; max-height: 520px; object-fit: contain; border-radius: 12px; filter: drop-shadow(0 24px 30px rgba(0, 0, 0, .34)); transition: transform .3s ease; }
.iim-project-grid, .elementor .elementor-element.iim-project-grid, .iim-post-grid { --display: grid; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(22px, 2.4vw, 36px); align-items: stretch; }
.iim-project-grid > .e-con, .iim-process-grid > .e-con, .iim-gallery > .e-con { --width: auto; width: auto; min-width: 0; }
.iim-project-card, .elementor .elementor-element.iim-project-card { display: flex; --flex-direction: column; flex-direction: column; align-items: flex-start; gap: 18px; padding: 26px; background: var(--iim-ink-soft); border: 1px solid var(--iim-border); border-radius: var(--iim-radius); box-shadow: 0 16px 42px rgba(0, 0, 0, .12); transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease; min-width: 0; }
.iim-project-card:hover { border-color: rgba(214, 183, 119, .42); box-shadow: 0 23px 48px rgba(0, 0, 0, .24); transform: translateY(-5px); }
.uno-iim-theme .iim-project-card .elementor-heading-title { font-size: clamp(26px, 2.1vw, 32px); line-height: 1.2; letter-spacing: -.025em; font-family: var(--iim-serif); font-weight: 400; }
.iim-project-card p { font-size: 15px; line-height: 1.8; color: var(--iim-muted); max-width: 65ch; }
.iim-project-card .elementor-widget-button, .iim-project-card > .iim-text-link { margin-top: auto; }
.uno-iim-theme .iim-project-card .elementor-button { color: var(--iim-paper); background: transparent; border: 0; border-bottom: 1px solid rgba(214, 183, 119, .55); border-radius: 0; padding: 7px 0; font-size: 11px; font-weight: 700; letter-spacing: .09em; line-height: 1.6; text-transform: uppercase; transition: color .2s ease, border-color .2s ease; }
.uno-iim-theme .iim-project-card .elementor-button:hover { color: var(--iim-gold); border-color: var(--iim-gold); }
.iim-project-image { overflow: hidden; width: 100%; background: var(--iim-surface-raised); border: 1px solid rgba(198, 209, 234, .08); border-radius: 10px; }
.iim-project-image .elementor-widget-container { height: 100%; }
.uno-iim-theme .iim-project-image img { display: block; width: 100%; height: 290px; object-fit: cover; object-position: center; transition: transform .45s ease; }
.uno-iim-theme .iim-image-toi img, .uno-iim-theme .iim-image-1ac img { object-fit: contain; padding: 28px; }
.uno-iim-theme .iim-image-c4p img { object-fit: contain; background: #1a2630; }
.iim-status, .iim-status .elementor-widget-container { font-family: var(--iim-sans); font-size: 10px; font-weight: 700; letter-spacing: .095em; line-height: 1.65; text-transform: uppercase; color: var(--iim-project-accent); }
.iim-status { padding: 6px 10px; background: rgba(214, 183, 119, .065); border: 1px solid rgba(214, 183, 119, .2); border-radius: 4px; align-self: flex-start; }
.iim-status p { color: inherit; font-size: inherit; }
.iim-project-card > .iim-kicker { margin-top: 3px; }
.iim-gallery, .elementor .elementor-element.iim-gallery { --display: grid; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 2.5vw, 36px); align-items: stretch; }
.iim-gallery-card, .elementor .elementor-element.iim-gallery-card { --flex-direction: column; flex-direction: column; padding: 24px; gap: 16px; border-radius: var(--iim-radius); border: 1px solid var(--iim-border); background: var(--iim-ink-soft); }
.iim-gallery-card .elementor-widget-image { width: 100%; }
.uno-iim-theme .iim-gallery-card img { display: block; max-height: 520px; width: 100%; object-fit: contain; border-radius: 8px; filter: drop-shadow(0 12px 18px rgba(0, 0, 0, .24)); transition: transform .3s ease; }
.uno-iim-theme .iim-gallery-card .elementor-heading-title { font-family: var(--iim-sans); font-size: 15px; font-weight: 650; }
.iim-gallery-card p { font-size: 13px; color: var(--iim-muted); }
.iim-gallery-item, .elementor .elementor-element.iim-gallery-item { --flex-direction: column; display: flex; flex-direction: column; gap: 20px; padding: 28px; border-radius: var(--iim-radius); background: linear-gradient(155deg, var(--iim-surface) 0, var(--iim-ink-soft) 100%); border: 1px solid var(--iim-border); min-width: 0; transition: border-color .25s ease, transform .25s ease; }
.iim-gallery-item .iim-gallery-card, .elementor .elementor-element.iim-gallery-item .iim-gallery-card { padding: 0; background: transparent; border: 0; border-radius: 0; width: 100%; }
.uno-iim-theme .iim-gallery-item .elementor-heading-title, .iim-gallery-item h3 { font-size: 17px; font-family: var(--iim-sans); font-weight: 600; }
.iim-gallery-item p { font-size: 14px; color: var(--iim-muted); }
.iim-split, .elementor .elementor-element.iim-split { --display: grid; display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(36px, 6vw, 96px); align-items: center; }
.iim-split > .e-con { --width: auto; width: auto; min-width: 0; }
.iim-panel, .elementor .elementor-element.iim-panel { background: linear-gradient(135deg, var(--iim-surface), var(--iim-ink-soft)); padding: clamp(28px, 4vw, 56px); border: 1px solid var(--iim-border); border-radius: var(--iim-radius); gap: 24px; box-shadow: 0 18px 46px rgba(0, 0, 0, .13); }
.uno-iim-theme .iim-panel .elementor-heading-title { font-family: var(--iim-serif); font-weight: 400; font-size: clamp(28px, 2.65vw, 40px); line-height: 1.28; letter-spacing: -.02em; }
.iim-panel p { color: var(--iim-muted); }
.iim-band { padding-block: clamp(48px, 6vw, 80px); background: transparent; color: var(--iim-paper); }
.uno-iim-theme .iim-band .elementor-heading-title, .iim-band h2 { color: var(--iim-white); font-family: var(--iim-serif); font-weight: 400; font-size: clamp(34px, 3.8vw, 58px); letter-spacing: -.035em; text-wrap: balance; max-width: 27ch; }
.iim-band p { color: #bfc4d5; }
.iim-band .iim-kicker, .iim-band .iim-kicker .elementor-widget-container { color: var(--iim-gold); }
.iim-section-dark .iim-band { padding-block: 0; }
.iim-process-grid, .elementor .elementor-element.iim-process-grid { --display: grid; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(24px, 3vw, 44px); }
.iim-step { border-top: 1px solid rgba(214, 183, 119, .4); padding-top: 26px; }
.uno-iim-theme .iim-step .elementor-heading-title { font-family: var(--iim-serif); font-size: 24px; font-weight: 400; }
.iim-step p { font-size: 15px; color: var(--iim-muted); }
.iim-section-dark { background: #111725; color: var(--iim-paper); background-image: radial-gradient(ellipse at 85% 50%, rgba(114, 91, 176, .055), transparent 65%); }
.uno-iim-theme .iim-section-dark .elementor-heading-title, .iim-section-dark h2, .iim-section-dark h3 { color: var(--iim-paper); }
.iim-section-dark .iim-kicker, .iim-section-dark .iim-kicker .elementor-widget-container { color: var(--iim-gold); }
.iim-section-dark .iim-lead, .iim-section-dark .iim-lead .elementor-widget-container, .iim-section-dark .iim-step p { color: #bec3d5; }
.iim-body-copy, .iim-body-copy .elementor-widget-container { font-size: 17px; line-height: 1.8; color: var(--iim-muted); }
.uno-iim-theme .iim-stat .elementor-heading-title { color: var(--iim-gold); font-family: var(--iim-serif); font-size: 48px; }
.iim-rule { height: 1px; background: var(--iim-border); width: 100%; border: 0; }

/* Native fallback and Elementor header/footer share the same rhythm. */
.iim-site-header, .iim-studio-header { background: #0b101c; color: var(--iim-paper); border-bottom: 1px solid rgba(198, 209, 234, .1); position: relative; z-index: 20; }
.iim-native-header-inner, .iim-header-inner, .elementor .elementor-element.iim-header-inner { --flex-direction: row; flex-direction: row; display: flex; align-items: center; justify-content: space-between; gap: 30px; min-height: 100px; padding-block: 18px; }
.iim-brand-logo, .custom-logo-link { display: inline-block; width: 212px; max-width: 100%; }
.iim-brand-logo img, .custom-logo-link img { display: block; width: 100%; height: auto; }
.iim-header-inner .iim-brand-logo { flex: 0 0 212px; }
.elementor :where(.iim-header-inner, .iim-footer-inner) .elementor-widget.iim-brand-logo { --container-widget-width: 212px; width: 212px; max-width: 212px; flex: 0 0 auto; }
.elementor :where(.iim-header-inner) .elementor-widget.iim-brand-logo { flex-basis: 212px; }
.iim-brand-text { color: var(--iim-gold); font-family: var(--iim-serif); font-size: 31px; text-decoration: none; }
.iim-brand-text span { display: block; color: #bdc2d3; font-family: var(--iim-sans); font-size: 10px; letter-spacing: .07em; }
.iim-menu, .iim-nav-list, .iim-footer-menu { display: flex; align-items: center; list-style: none; padding: 0; margin: 0; gap: 28px; }
.iim-native-nav a, .iim-nav a { display: block; color: #d8deeb; font-family: var(--iim-sans); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; line-height: 1.6; padding-block: 12px; text-decoration: none; transition: color .2s ease; }
.iim-native-nav a:hover, .iim-nav a:hover, .iim-native-nav .current-menu-item > a, .iim-nav .current-menu-item > a, .iim-native-nav .current_page_item > a { color: var(--iim-gold); }
.iim-menu li, .iim-nav-list li { position: relative; }
.iim-menu .sub-menu, .iim-nav-list .sub-menu { list-style: none; position: absolute; top: 100%; left: -18px; z-index: 30; display: none; min-width: 274px; padding: 12px 18px; margin: 0; background: #182131; border: 1px solid rgba(214, 183, 119, .22); border-radius: 8px; box-shadow: 0 16px 42px rgba(0, 0, 0, .32); }
.iim-menu .sub-menu .sub-menu, .iim-nav-list .sub-menu .sub-menu { top: 0; left: 100%; }
.iim-menu li:hover > .sub-menu, .iim-menu li:focus-within > .sub-menu, .iim-nav-list li:hover > .sub-menu, .iim-nav-list li:focus-within > .sub-menu { display: block; }
.iim-menu-toggle, .iim-nav-toggle { display: none; align-items: center; justify-content: center; gap: 9px; min-height: 44px; padding: 8px 13px; color: var(--iim-paper); background: transparent; border: 1px solid rgba(198, 209, 234, .3); border-radius: 5px; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.iim-menu-toggle-lines { width: 17px; height: 12px; position: relative; border-top: 1px solid currentColor; border-bottom: 1px solid currentColor; }
.iim-menu-toggle-lines::before { content: ''; position: absolute; top: 4px; left: 0; width: 17px; border-top: 1px solid currentColor; }
.iim-site-footer, .iim-studio-footer { position: relative; background: #0b101c; color: var(--iim-paper); border-top: 1px solid rgba(198, 209, 234, .1); }
.iim-native-footer-inner { display: flex; gap: 60px; justify-content: space-between; padding-block: 58px 40px; }
.iim-footer-inner, .elementor .elementor-element.iim-footer-inner { --flex-direction: row; display: flex; flex-direction: row; gap: 64px; padding-block: 76px 44px; justify-content: space-between; align-items: flex-start; }
.iim-footer-column, .elementor .elementor-element.iim-footer-column { --width: auto; width: auto; flex: 1 1 0; min-width: 0; }
.iim-footer-column:where(:first-child), .elementor .elementor-element.iim-footer-column:where(:first-child) { flex: 1.6 1 0; }
.iim-footer-brand { max-width: 440px; }
.iim-footer-brand p, .iim-footer-column p { color: var(--iim-muted); font-size: 14px; line-height: 1.85; margin-top: 20px; max-width: 48ch; }
.uno-iim-theme .iim-footer-column .elementor-heading-title { font-family: var(--iim-sans); font-size: 11px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; color: var(--iim-gold); }
.iim-footer-column a, .iim-footer-menu a { color: #cdd2df; text-decoration: none; font-size: 14px; }
.iim-footer-column a:hover, .iim-footer-menu a:hover { color: var(--iim-gold); }
.uno-iim-theme .iim-footer-link .elementor-button { padding: 0; color: #cdd2df; background: transparent; font-size: 14px; font-weight: 400; line-height: 1.7; }
.uno-iim-theme .iim-footer-link .elementor-button:hover { color: var(--iim-gold); background: transparent; }
.iim-footer-menu { flex-direction: column; align-items: flex-start; gap: 7px; }
.iim-footer-bottom { border-top: 1px solid var(--iim-border); padding-block: 26px; color: #a7b0c3; font-size: 12px; }
.iim-footer-bottom p { margin: 0; }
.uno-iim-theme .iim-copyright.elementor-widget-text-editor { color: #a7b0c3; font-size: 12px; }

/* The bundled plugin supplies the functional form and menu, not presentation. */
.iim-contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; width: 100%; }
.iim-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.iim-field label, .iim-search-form label > span { font-size: 13px; font-weight: 600; }
.iim-field input:not([type='checkbox']), .iim-field textarea, .iim-field select, .iim-search-form input, .iim-comments input:not([type='checkbox']):not([type='submit']), .iim-comments textarea { width: 100%; color: var(--iim-paper); background: #0f1725; border: 1px solid #68758c; border-radius: 6px; padding: 13px 15px; font-size: 15px; line-height: 1.5; transition: border-color .2s ease; }
.iim-field textarea { min-height: 180px; resize: vertical; }
.iim-field:has(textarea), .iim-field-full, .iim-contact-form .iim-form-actions, .iim-contact-form .iim-consent, .iim-form-feedback { grid-column: 1 / -1; }
.iim-field input[type='checkbox'], .iim-consent input { accent-color: var(--iim-gold); width: 18px; height: 18px; }
.iim-consent { font-size: 13px; line-height: 1.65; color: var(--iim-muted); }
.iim-contact-form .iim-consent label { display: flex; gap: 10px; align-items: flex-start; }
.iim-consent input { flex: 0 0 auto; margin-top: 4px; }
.iim-form-feedback { background: #252334; border-left: 3px solid var(--iim-gold); color: var(--iim-paper); padding: 14px 18px; border-radius: 4px; font-size: 14px; }
.iim-form-feedback:empty { display: none; }
.iim-form-feedback.is-error, .iim-form-feedback[data-status='error'] { background: #362025; border-color: #e99a99; color: #f5c3c1; }
.iim-form-feedback.is-success, .iim-form-feedback[data-status='success'] { background: #1a302a; border-color: #a0c7af; color: #c6e5d3; }
.iim-search-form { display: flex; gap: 12px; align-items: flex-end; max-width: 660px; margin-bottom: 40px; }
.iim-search-form label { flex: 1; display: flex; flex-direction: column; gap: 6px; }

/* Standard WordPress additions remain usable as the site grows. */
.iim-post-card { border: 1px solid var(--iim-border); border-radius: var(--iim-radius); overflow: hidden; background: var(--iim-ink-soft); }
.iim-post-card-image { display: block; }
.iim-post-card-image img { display: block; width: 100%; height: 230px; object-fit: cover; }
.iim-post-card-content { padding: 28px; }
.iim-post-card h2 { font-size: 29px; }
.iim-post-card h2 a { color: var(--iim-paper); text-decoration: none; }
.iim-post-meta { color: var(--iim-muted); font-size: 12px; letter-spacing: .04em; margin-bottom: 15px; }
.iim-post-excerpt { color: var(--iim-muted); font-size: 15px; }
.iim-text-link { color: var(--iim-paper); font-size: 12px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; text-decoration: none; }
.uno-iim-theme .iim-text-link .elementor-button { display: inline-flex; color: var(--iim-paper); background: transparent; border: 0; border-bottom: 1px solid rgba(214, 183, 119, .55); border-radius: 0; padding: 7px 0; font-size: 11px; font-weight: 700; letter-spacing: .09em; line-height: 1.6; text-transform: uppercase; }
.uno-iim-theme .iim-text-link .elementor-button:hover { color: var(--iim-gold); background: transparent; border-color: var(--iim-gold); }
.iim-text-link span[aria-hidden] { color: var(--iim-gold); margin-left: 6px; }
.iim-featured-image { margin-bottom: 40px; max-width: 950px; }
.iim-featured-image img { display: block; border-radius: var(--iim-radius); }
.navigation.pagination { margin-top: 40px; }
.nav-links { display: flex; justify-content: space-between; gap: 16px; }
.page-numbers, .iim-page-links a, .iim-page-links .post-page-numbers { display: inline-block; padding: 8px 16px; border: 1px solid var(--iim-border); border-radius: 4px; text-decoration: none; }
.page-numbers.current { color: var(--iim-ink); background: var(--iim-gold); }
.iim-page-links { margin-block: 32px; }
.iim-post-navigation { padding-bottom: 50px; }
.iim-post-navigation .nav-links a { display: flex; flex-direction: column; color: var(--iim-paper); text-decoration: none; }
.iim-post-navigation .nav-next { text-align: right; }
.iim-post-navigation .nav-links span { color: var(--iim-muted); font-size: 12px; }
.iim-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 30px; }
.iim-tags a { padding: 5px 12px; border-radius: 4px; background: var(--iim-surface); font-size: 12px; text-decoration: none; color: var(--iim-paper); }
.iim-comments { padding-bottom: 80px; }
.iim-comments h2, .iim-comments h3 { font-size: 30px; }
.iim-comment-list, .iim-comment-list .children { list-style: none; padding: 0; }
.iim-comment-list .children { padding-left: 32px; }
.iim-comment-list .comment-body { border-bottom: 1px solid var(--iim-border); padding-block: 24px; }
.iim-comment-list .avatar { border-radius: 50%; margin-right: 8px; vertical-align: middle; }
.iim-comment-list .comment-metadata { color: var(--iim-muted); font-size: 12px; margin: 10px 0 18px; }
.iim-comment-list .comment-metadata a { color: inherit; }
.iim-comments input[type='submit'] { padding: 12px 24px; background: var(--iim-gold); color: var(--iim-ink); border: none; border-radius: 6px; font-weight: 600; cursor: pointer; }
.iim-empty-content { border-top: 1px solid var(--iim-border); padding-top: 30px; }
.iim-not-found .iim-search-form { margin-top: 35px; }
.bypostauthor > .comment-body { border-left: 2px solid var(--iim-gold); padding-left: 18px; }
.sticky .iim-post-card-content { border-top: 3px solid var(--iim-gold); }
.gallery { display: flex; flex-wrap: wrap; gap: 16px; }
.gallery-item { flex: 1 1 180px; }
.gallery-caption { font-size: 13px; color: var(--iim-muted); }
.wp-caption { max-width: 100%; }

/* Composition, reading measure and restrained individual project accents. */
.iim-lead p, .iim-body-copy p, .iim-panel p, .iim-band p, .iim-section-head p { max-width: 68ch; }
.iim-entry-content th { background: var(--iim-surface); }
.iim-hero::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(214, 183, 119, .22) 45%, rgba(154, 172, 255, .17) 72%, transparent); }
.iim-card-stack::after { content: ''; position: absolute; top: 49%; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(214, 183, 119, .1), transparent); pointer-events: none; }
.iim-project-fih { --iim-project-accent: #d5b784; --iim-project-glow: rgba(174, 131, 69, .13); }
.iim-project-toi { --iim-project-accent: #bb9be8; --iim-project-glow: rgba(131, 81, 198, .16); }
.iim-project-c4p { --iim-project-accent: #b8cc9f; --iim-project-glow: rgba(118, 155, 103, .12); }
.iim-project-ctc { --iim-project-accent: #9cc8d8; --iim-project-glow: rgba(88, 144, 175, .14); }
.iim-project-1ac { --iim-project-accent: #e0ba83; --iim-project-glow: rgba(196, 136, 69, .13); }
.iim-hero.iim-project-toi { background: #0e1322; }
.iim-hero.iim-project-toi::before { background: radial-gradient(ellipse at 85% 45%, rgba(119, 69, 183, .2), transparent 53%), radial-gradient(ellipse at 15% 10%, rgba(50, 76, 153, .1), transparent 55%), repeating-linear-gradient(135deg, transparent 0, transparent 159px, rgba(187, 155, 232, .03) 160px, transparent 161px); }
.iim-project-fih .iim-kicker, .iim-project-toi .iim-kicker, .iim-project-c4p .iim-kicker, .iim-project-ctc .iim-kicker, .iim-project-1ac .iim-kicker { color: var(--iim-project-accent); }
.iim-lore { max-width: 72ch; border-left: 2px solid var(--iim-purple); padding-left: clamp(20px, 3vw, 40px); }
.iim-lore-quote, .iim-lore-quote p { color: var(--iim-paper); font-family: var(--iim-serif); font-size: clamp(24px, 2.2vw, 32px); line-height: 1.5; }
.iim-project-grid-home, .elementor .elementor-element.iim-project-grid-home { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.iim-project-grid-home > .iim-project-card { grid-column: span 2; }
.iim-project-grid-home > .iim-project-card:nth-child(n+4) { grid-column: span 3; }
.iim-project-card:focus-within { border-color: rgba(214, 183, 119, .42); box-shadow: 0 23px 48px rgba(0, 0, 0, .24); }
.iim-project-card > .iim-kicker p { font-size: 10px; letter-spacing: .11em; line-height: 1.65; color: #b6bdd0; }
.iim-project-image a { display: block; }
.iim-image-toi { background: radial-gradient(ellipse at center, #26304a, #182032); }
.iim-image-1ac { background: radial-gradient(ellipse at center, #302b29, #1c2330); }
.iim-gallery-four, .elementor .elementor-element.iim-gallery-four { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.iim-gallery-four .iim-gallery-item { padding: 20px; }
.iim-field input::placeholder, .iim-field textarea::placeholder, .iim-search-form input::placeholder { color: #a7b1c6; opacity: 1; }

/* The frames remain distinct without a light/dark break in the page. */
.iim-site-header::after, .iim-studio-header::after { content: ''; position: absolute; pointer-events: none; bottom: -1px; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(214, 183, 119, .42) 34%, rgba(154, 172, 255, .33) 70%, transparent); }
.iim-site-footer::before, .iim-studio-footer::before { content: ''; position: absolute; pointer-events: none; top: -1px; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(154, 172, 255, .27) 30%, rgba(214, 183, 119, .4) 65%, transparent); }
.iim-menu > li > a, .iim-nav-list > li > a { position: relative; }
.iim-menu > li > a::after, .iim-nav-list > li > a::after { content: ''; position: absolute; bottom: 5px; left: 0; right: 0; height: 1px; background: var(--iim-gold); transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.iim-menu > li > a:hover::after, .iim-nav-list > li > a:hover::after, .iim-menu > .current-menu-item > a::after, .iim-nav-list > .current-menu-item > a::after, .iim-nav-list > .current-menu-ancestor > a::after { transform: scaleX(1); }
.iim-nav .current-menu-ancestor > a { color: var(--iim-gold); }
.iim-menu .sub-menu a, .iim-nav-list .sub-menu a { font-size: 11px; letter-spacing: .055em; padding-block: 11px; }
.iim-submenu-toggle { display: inline-flex; align-items: center; justify-content: center; position: absolute; top: 0; right: 0; width: 32px; min-height: 44px; padding: 0; border: 0; border-radius: 4px; color: var(--iim-gold); background: transparent; transition: background .2s ease; }
.iim-submenu-toggle:hover { background: rgba(214, 183, 119, .08); }
.iim-submenu-toggle[aria-expanded='true'] { background: rgba(214, 183, 119, .08); }
.iim-nav.is-enhanced .menu-item-has-children > a, .iim-native-nav.is-enhanced .menu-item-has-children > a { display: block; padding-right: 36px; }
.iim-nav.is-enhanced .is-submenu-closed > .sub-menu, .iim-native-nav.is-enhanced .is-submenu-closed > .sub-menu { display: none; }
.iim-nav.is-enhanced .is-submenu-open > .sub-menu, .iim-native-nav.is-enhanced .is-submenu-open > .sub-menu { display: block; animation: iim-menu-enter .18s ease-out; }
@keyframes iim-menu-enter { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
/* Without enhancement, every child destination remains reachable. */
.iim-nav:not(.is-enhanced) .sub-menu, .iim-native-nav:not(.is-enhanced) .sub-menu { display: block; position: static; min-width: 0; padding-left: 14px; box-shadow: none; border: 0; background: transparent; }
.iim-nav:not(.is-enhanced) .iim-nav-panel, .iim-nav:not(.is-enhanced) .iim-nav-list { display: flex; position: static; min-width: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
.iim-nav:not(.is-enhanced) .iim-nav-toggle, .iim-native-nav:not(.is-enhanced) .iim-menu-toggle, .iim-nav:not(.is-enhanced) .iim-submenu-toggle { display: none; }
@media (prefers-reduced-motion: no-preference) {
    .iim-reveal { transition: opacity .55s ease, transform .55s ease; }
    .iim-reveal:not(.is-visible) { opacity: 0; transform: translateY(18px); }
    .iim-reveal.is-visible { opacity: 1; transform: none; }
}
@media (hover: hover) and (pointer: fine) {
    .iim-project-card:hover .iim-project-image img { transform: scale(1.035); }
    .iim-gallery-item:hover { transform: translateY(-3px); border-color: rgba(214, 183, 119, .32); }
    .iim-gallery-item:hover img, .iim-project-cover:hover img { transform: translateY(-4px); }
    .iim-card-stack:hover .iim-stack-card1, .iim-card-stack:hover .iim-stack-card3 { translate: 0 -5px; }
    .iim-card-stack:hover .iim-stack-card2 { translate: 0 -9px; }
}
@media (max-width: 1200px) {
    .iim-gallery-four, .elementor .elementor-element.iim-gallery-four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1024px) {
	.iim-project-grid-home > .iim-project-card, .iim-project-grid-home > .iim-project-card:nth-child(n+4) { grid-column: auto; }
	.iim-project-grid-home > .iim-project-card:last-child { grid-column: 1 / -1; }
	.iim-project-grid, .elementor .elementor-element.iim-project-grid, .iim-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.iim-process-grid, .elementor .elementor-element.iim-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.iim-menu, .iim-nav-list { gap: 18px; }
	.iim-header-inner { gap: 20px; }
	.iim-header-inner .iim-brand-logo { flex-basis: 160px; width: 160px; }
	.elementor :where(.iim-header-inner, .iim-footer-inner) .elementor-widget.iim-brand-logo { --container-widget-width: 160px; width: 160px; max-width: 160px; }
	.elementor :where(.iim-header-inner) .elementor-widget.iim-brand-logo { flex-basis: 160px; }
	.iim-card-stack, .elementor .elementor-element.iim-card-stack { --min-height: 410px; min-height: 410px; }
	.iim-gallery, .elementor .elementor-element.iim-gallery { gap: 18px; }
}
@media (max-width: 1000px) {
	.iim-gallery, .elementor .elementor-element.iim-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.iim-hero-art { align-self: center; }
	.iim-js .iim-menu-toggle, .iim-nav-toggle { display: inline-flex; }
	.iim-native-header-inner { flex-wrap: wrap; }
	.iim-native-nav { flex: 0 0 100%; }
	.iim-js .iim-native-nav { display: none; }
	.iim-js .iim-native-nav.is-open { display: block; }
	.iim-native-nav .iim-menu { flex-direction: column; align-items: stretch; gap: 0; }
	.iim-native-nav a { padding: 12px 0; }
	.iim-nav { position: relative; }
	.iim-nav .iim-nav-list { display: none; position: absolute; right: 0; top: calc(100% + 12px); min-width: 270px; padding: 18px 24px; background: var(--iim-ink-soft); border: 1px solid rgba(245,241,232,.12); border-radius: 8px; flex-direction: column; align-items: stretch; gap: 0; box-shadow: 0 10px 35px rgba(0,0,0,.2); }
	.iim-nav.is-open .iim-nav-list, .iim-nav .iim-nav-toggle[aria-expanded='true'] ~ .iim-nav-list { display: flex; }
	.iim-nav.is-open .iim-nav-panel .iim-nav-list, .iim-nav-panel.is-open .iim-nav-list { display: flex; position: static; min-width: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
	.iim-menu .sub-menu, .iim-nav-list .sub-menu, .iim-menu .sub-menu .sub-menu, .iim-nav-list .sub-menu .sub-menu { position: static; display: block; min-width: 0; padding: 0 0 0 18px; box-shadow: none; border: 0; background: transparent; }
	.iim-native-nav .sub-menu a, .iim-nav .sub-menu a { font-size: 12px; color: #b9c2d8; }
	.iim-hero .iim-shell, .elementor .elementor-element.iim-hero .iim-shell { --flex-direction: column; flex-direction: column; gap: 40px; }
	.iim-hero-copy, .elementor .iim-hero .elementor-element.iim-hero-copy, .iim-hero-art, .elementor .iim-hero .elementor-element.iim-hero-art { --width: 100%; width: 100%; max-width: 640px; }
	.iim-card-stack, .elementor .elementor-element.iim-card-stack { --min-height: 480px; min-height: 480px; }
	.iim-split, .elementor .elementor-element.iim-split { grid-template-columns: 1fr; gap: 35px; }
	.iim-footer-inner, .elementor .elementor-element.iim-footer-inner { flex-wrap: wrap; }
	.iim-footer-column, .elementor .elementor-element.iim-footer-column { --width: auto; flex: 1 1 40%; width: auto; }
	.iim-footer-column:where(:first-child), .elementor .elementor-element.iim-footer-column:where(:first-child) { flex: 1 1 100%; }
}
@media (max-width: 600px) {
	.iim-project-grid-home > .iim-project-card:last-child { grid-column: auto; }
	.iim-hero { padding-block: 52px 64px; }
	.iim-section { padding-block: 60px; }
	.iim-project-cover { padding: 20px; border-radius: 16px; }
	.iim-lore { padding-left: 20px; }
	body { font-size: 16px; }
	.iim-shell, .elementor .elementor-element.iim-shell { --padding-left: 20px; --padding-right: 20px; padding-inline: 20px; }
	.iim-standard-page { padding-block: 48px 65px; }
	.iim-page-heading { margin-bottom: 32px; }
	.iim-display, .uno-iim-theme .iim-display .elementor-heading-title { font-size: clamp(38px, 10.5vw, 56px); }
	.iim-section-head { margin-bottom: 28px; }
	.iim-project-grid, .elementor .elementor-element.iim-project-grid, .iim-post-grid, .iim-gallery, .elementor .elementor-element.iim-gallery, .iim-process-grid, .elementor .elementor-element.iim-process-grid { grid-template-columns: 1fr; gap: 22px; }
	.uno-iim-theme .iim-project-image img { height: clamp(240px, 68vw, 340px); }
	.iim-project-card, .elementor .elementor-element.iim-project-card { padding: 20px; }
	.iim-native-header-inner, .iim-header-inner, .elementor .elementor-element.iim-header-inner { min-height: 78px; padding-block: 14px; gap: 16px; }
	.iim-brand-logo, .custom-logo-link, .iim-header-inner .iim-brand-logo { width: 146px; flex-basis: 146px; }
	.elementor :where(.iim-header-inner, .iim-footer-inner) .elementor-widget.iim-brand-logo { --container-widget-width: 146px; width: 146px; max-width: 146px; }
	.elementor :where(.iim-header-inner) .elementor-widget.iim-brand-logo { flex-basis: 146px; }
	.iim-header-inner .iim-header-contact, .iim-header-inner .iim-header-cta { display: none; }
	.iim-native-footer-inner { flex-direction: column; gap: 30px; }
	.iim-footer-inner, .elementor .elementor-element.iim-footer-inner { gap: 30px; padding-block: 42px 30px; }
	.iim-footer-column, .elementor .elementor-element.iim-footer-column, .iim-footer-column:where(:first-child), .elementor .elementor-element.iim-footer-column:where(:first-child) { --width: 100%; flex-basis: 100%; width: 100%; }
	.iim-card-stack, .elementor .elementor-element.iim-card-stack { --min-height: clamp(310px, 88vw, 450px); min-height: clamp(310px, 88vw, 450px); }
	.iim-actions { gap: 12px; }
	.iim-button, .uno-iim-theme .iim-primary .elementor-button, .uno-iim-theme .iim-secondary .elementor-button { padding-inline: 19px; }
	.iim-contact-form { grid-template-columns: 1fr; }
	.iim-search-form { flex-direction: column; align-items: stretch; }
	.iim-entry-content .alignwide { width: 100%; }
	.iim-entry-content .alignfull { margin-left: -20px; width: 100vw; }
	.iim-comment-list .children { padding-left: 18px; }
}

/* V3: the entry point is a constellation of illustrated portals.
   Ornament masks are original vectors drawn for this theme, never third-party art. */
.iim-worlds-section { isolation: isolate; overflow: hidden; background: radial-gradient(ellipse at 50% 20%, rgba(120, 92, 171, .085), transparent 60%), #0b101c; }
.iim-worlds-section::before { content: ''; pointer-events: none; position: absolute; width: min(84vw, 1240px); aspect-ratio: 1; top: 13%; left: 50%; transform: translateX(-50%); border: 1px solid rgba(214, 183, 119, .07); border-radius: 50%; box-shadow: 0 0 0 70px rgba(214, 183, 119, .025), 0 0 0 145px rgba(214, 183, 119, .018); z-index: -1; }
.iim-worlds-section .iim-section-head { max-width: 860px; margin-inline: auto; text-align: center; align-items: center; }
.iim-worlds-section .iim-section-head p { margin-inline: auto; }
.iim-worlds-section .iim-section-head::after { content: ''; display: block; width: 220px; height: 22px; margin-top: 18px; background: var(--iim-gold); opacity: .75; -webkit-mask: var(--iim-ornament-divider) center / contain no-repeat; mask: var(--iim-ornament-divider) center / contain no-repeat; }
.iim-world-grid, .elementor .elementor-element.iim-world-grid { display: grid; --display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); align-items: stretch; gap: 64px 40px; padding-block: 32px 12px; }
.iim-world-grid > .iim-world-portal { grid-column: span 2; }
.iim-world-grid > .iim-world-portal:nth-child(n+4) { grid-column: span 3; }
.iim-world-portal, .elementor .elementor-element.iim-world-portal { position: relative; display: flex; --flex-direction: column; flex-direction: column; align-items: center; gap: 18px; padding: 18px 10px 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; text-align: center; transform: none; }
.iim-world-portal:hover, .iim-world-portal:focus-within { background: transparent; border: 0; box-shadow: none; transform: none; }
.iim-world-portal .iim-portal-window { --iim-portal-ornament: var(--iim-ornament-universal); position: relative; isolation: isolate; width: clamp(230px, 19vw, 300px); max-width: calc(100% - 54px); aspect-ratio: 1; padding: 0; margin: 20px auto 28px; overflow: visible; background: none; border: 0; border-radius: 50%; }
.iim-portal-window > .elementor-widget-container { position: relative; display: block; width: 100%; height: 100%; border-radius: 50%; overflow: hidden; background: var(--iim-surface); border: 2px solid var(--iim-project-accent); box-shadow: inset 0 0 26px rgba(0, 0, 0, .4), 0 18px 46px rgba(0, 0, 0, .35); }
.iim-portal-window a { display: block; width: 100%; height: 100%; border-radius: 50%; }
.uno-iim-theme .iim-portal-window img { display: block; width: 100%; height: 100%; aspect-ratio: 1; object-fit: cover; padding: 0; border-radius: 50%; transition: transform .45s ease; }
.iim-world-portal .iim-portal-window::before { content: ''; position: absolute; pointer-events: none; inset: -12px; z-index: -1; border: 3px double var(--iim-project-accent); border-radius: 50%; background: radial-gradient(circle, transparent 56%, var(--iim-project-glow) 66%, transparent 75%); box-shadow: 0 0 0 4px rgba(0, 0, 0, .35), inset 0 0 0 5px rgba(0, 0, 0, .22), 0 0 0 7px rgba(214, 183, 119, .08); transition: box-shadow .3s ease; }
.iim-world-portal .iim-portal-window::after { content: ''; position: absolute; pointer-events: none; inset: -30px; z-index: 2; background: var(--iim-project-accent); -webkit-mask: var(--iim-portal-ornament) center / contain no-repeat; mask: var(--iim-portal-ornament) center / contain no-repeat; opacity: .82; transition: opacity .3s ease; }
.iim-world-portal .iim-status { align-self: center; background: transparent; border: 0; padding: 2px 6px; }
.uno-iim-theme .iim-world-portal .elementor-heading-title { font-size: clamp(27px, 2.1vw, 34px); line-height: 1.18; letter-spacing: -.025em; max-width: 22ch; text-wrap: balance; }
.iim-world-portal .elementor-widget-heading, .iim-world-portal .elementor-widget-text-editor { width: 100%; }
.iim-world-portal p { max-width: 34ch; margin-inline: auto; }
.iim-world-portal > .iim-kicker { max-width: 33ch; }
.iim-world-portal > .iim-kicker p { color: var(--iim-project-accent); font-size: 10px; }
.iim-world-portal .elementor-widget-button { margin-top: auto; padding-top: 10px; }
.uno-iim-theme .iim-world-portal .elementor-button { color: var(--iim-project-accent); border-color: var(--iim-project-accent); }
.iim-world-portal.iim-project-fih .iim-portal-window { --iim-portal-ornament: var(--iim-ornament-historic); }
.iim-world-portal.iim-project-1ac .iim-portal-window { --iim-portal-ornament: var(--iim-ornament-harvest); }
.iim-world-portal.iim-project-1ac .iim-portal-window::before { border-top-color: #9fafce; border-right-color: #91b28a; border-bottom-color: #e0bb78; border-left-color: #c69a78; }
.iim-world-portal.iim-project-c4p { --iim-project-accent: #dfc38b; }
.iim-world-portal.iim-project-c4p .iim-portal-window { --iim-portal-ornament: var(--iim-ornament-medal); }
.iim-world-portal.iim-project-c4p .iim-portal-window::after { bottom: -42px; }
.iim-world-portal.iim-project-ctc .iim-portal-window { --iim-portal-ornament: var(--iim-ornament-city); }
.iim-world-portal.iim-project-toi .iim-portal-window { --iim-portal-ornament: var(--iim-ornament-tower); }
.iim-world-portal.iim-project-toi .iim-portal-window::before { border-style: solid; border-width: 2px; box-shadow: 0 0 0 5px #191527, 0 0 0 6px rgba(187, 155, 232, .25), inset 0 0 0 5px rgba(0, 0, 0, .4); }

/* Individual interiors inherit a shared readable text palette, while their
   materials, headings, art and compositions differ. Brand frames stay outside. */
.iim-world-page, .elementor .elementor-element.iim-world-page { --gap: 0; gap: 0; padding: 0; background: var(--iim-world-deep); }
:where(.iim-world-page) { --iim-world-deep: #111725; --iim-world-surface: #182130; --iim-world-raised: #1d2838; --iim-world-accent: var(--iim-gold); --iim-world-divider: var(--iim-ornament-divider); }
.iim-world-fih { --iim-world-deep: #191714; --iim-world-surface: #211d18; --iim-world-raised: #29221b; --iim-world-accent: #d5b784; --iim-project-glow: rgba(174, 131, 69, .13); --iim-world-divider: var(--iim-ornament-historic); }
.iim-world-toi { --iim-world-deep: #100f1c; --iim-world-surface: #191527; --iim-world-raised: #211c33; --iim-world-accent: #bb9be8; --iim-project-glow: rgba(131, 81, 198, .16); --iim-world-divider: var(--iim-ornament-tower); }
.iim-world-1ac { --iim-world-deep: #101b16; --iim-world-surface: #18271e; --iim-world-raised: #23352a; --iim-world-accent: #d9c68c; --iim-project-glow: rgba(118, 155, 103, .12); --iim-world-divider: var(--iim-ornament-harvest); }
.iim-world-c4p { --iim-world-deep: #121c21; --iim-world-surface: #1a2a31; --iim-world-raised: #24343c; --iim-world-accent: #dfc38b; --iim-project-glow: rgba(174, 158, 81, .13); --iim-world-divider: var(--iim-ornament-medal); }
.iim-world-ctc { --iim-world-deep: #0e1b25; --iim-world-surface: #152833; --iim-world-raised: #1d3443; --iim-world-accent: #9cc8d8; --iim-project-glow: rgba(88, 144, 175, .14); --iim-world-divider: var(--iim-ornament-city); }
.iim-world-page .iim-section { background-color: var(--iim-world-deep); }
.iim-world-page .iim-section-alt, .iim-world-page .iim-section-dark { background-color: var(--iim-world-surface); }
.iim-world-page .iim-section-head .iim-kicker { color: var(--iim-world-accent); }
.iim-world-page .iim-section-head::after { content: ''; width: 140px; height: 28px; opacity: .8; background: linear-gradient(90deg, transparent, var(--iim-world-accent), transparent); margin-top: 10px; clip-path: polygon(0 48%, 36% 48%, 42% 25%, 50% 48%, 58% 25%, 64% 48%, 100% 48%, 100% 52%, 64% 52%, 58% 75%, 50% 52%, 42% 75%, 36% 52%, 0 52%); }
.uno-iim-theme .iim-world-page .iim-gallery-item, .uno-iim-theme .iim-world-page .iim-panel { background: var(--iim-world-raised); border-color: rgba(214, 183, 119, .22); }
.iim-world-page .iim-step { border-color: var(--iim-world-accent); }
.iim-world-page .iim-world-feature { position: relative; isolation: isolate; }
.iim-world-page .iim-lore { max-width: none; width: 100%; padding-inline: 0; border-left: 0; }
.iim-world-page .iim-lore-copy { min-width: 0; }
.iim-world-page .iim-world-feature-image img { display: block; width: 100%; border-radius: 2px; }
.iim-world-fih .iim-world-feature-image { border: 1px solid rgba(213, 183, 132, .45); padding: 8px; box-shadow: 0 0 0 5px rgba(213, 183, 132, .07); }
.iim-world-toi .iim-world-atlas { border: 1px solid rgba(187, 155, 232, .4); padding: 10px; box-shadow: 0 20px 70px rgba(0, 0, 0, .28); }
.iim-world-toi .iim-world-atlas img { display: block; width: 100%; }
.iim-competition .iim-step > .iim-kicker { align-self: flex-start; width: 44px; height: 44px; border: 1px solid var(--iim-world-accent); border-radius: 50%; display: grid; place-content: center; letter-spacing: 0; }
.iim-districts, .elementor .elementor-element.iim-districts { display: grid; --display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-block: 1px solid rgba(156, 200, 216, .3); }
.iim-districts .iim-step { padding: 24px; border-left: 1px solid rgba(156, 200, 216, .3); border-top: 0; }
.iim-districts .iim-step:nth-child(3n) { border-right: 1px solid rgba(156, 200, 216, .3); }
.iim-districts .iim-step:nth-child(n+4) { border-top: 1px solid rgba(156, 200, 216, .3); }
.iim-city-flow { margin-top: 24px; }
.iim-world-page .iim-world-feature .iim-body-copy { max-width: 68ch; }
.iim-world-page .iim-world-gallery .iim-section-head { margin-bottom: 54px; }

/* Original artwork becomes a landscape behind the title, not a side card. */
.iim-world-hero, .elementor .elementor-element.iim-world-hero { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: center; min-height: 680px; padding-block: 96px 112px; background: var(--iim-world-deep, #101727); overflow: hidden; }
.iim-world-hero .iim-world-backdrop, .elementor .elementor-element.iim-world-hero .elementor-element.iim-world-backdrop { position: absolute; inset: 0; z-index: -2; width: 100%; --width: 100%; --container-widget-width: 100%; height: 100%; margin: 0; padding: 0; pointer-events: none; }
/* Backgrounds remain native image widgets and can be selected in the editor. */
.elementor-editor-active .elementor .elementor-element.iim-world-hero .elementor-element.iim-world-backdrop { pointer-events: auto; z-index: 0; }
.iim-world-backdrop .elementor-widget-container { display: block; width: 100%; height: 100%; }
.uno-iim-theme .iim-world-backdrop img { display: block; width: 100%; height: 100%; max-height: none; object-fit: cover; object-position: center; border-radius: 0; padding: 0; filter: none; }
.iim-world-hero::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(90deg, rgba(9, 13, 21, .95) 0%, rgba(9, 13, 21, .82) 58%, rgba(9, 13, 21, .22) 100%), linear-gradient(0deg, var(--iim-world-deep, #101727) 0%, transparent 34%, rgba(9, 13, 21, .2) 100%); }
.iim-world-hero .iim-shell, .elementor .elementor-element.iim-world-hero .iim-shell { position: relative; z-index: 1; display: flex; --flex-direction: column; flex-direction: column; align-items: flex-start; gap: 0; }
.iim-world-hero .iim-hero-copy, .elementor .iim-world-hero .elementor-element.iim-hero-copy { width: 100%; --width: 100%; max-width: 830px; gap: 28px; }
.iim-world-hero .iim-display, .uno-iim-theme .iim-world-hero .iim-display .elementor-heading-title { font-size: clamp(48px, 5.8vw, 88px); max-width: 19ch; line-height: 1.08; text-shadow: 0 2px 20px rgba(0, 0, 0, .3); }
.iim-world-hero .iim-lead { max-width: 56ch; }
.iim-world-hero .iim-hero-note { color: #d1c8b4; }
.iim-world-hero .iim-status { color: var(--iim-world-accent, var(--iim-gold)); background: rgba(9, 13, 21, .6); border: 1px solid rgba(214, 183, 119, .35); }
.iim-world-hero::after { background: linear-gradient(90deg, transparent, var(--iim-world-accent, var(--iim-gold)), transparent); opacity: .45; }
.iim-world-fih .iim-world-hero::before { background: linear-gradient(90deg, rgba(20, 17, 13, .95), rgba(20, 17, 13, .82) 58%, rgba(20, 17, 13, .17)), linear-gradient(0deg, #191714, transparent 34%); }
.iim-world-toi .iim-world-hero::before { background: linear-gradient(90deg, rgba(12, 10, 23, .95), rgba(12, 10, 23, .82) 58%, rgba(12, 10, 23, .26)), linear-gradient(0deg, #100f1c, transparent 38%); }
.iim-world-1ac .iim-world-hero::before { background: linear-gradient(90deg, rgba(9, 22, 15, .95), rgba(9, 22, 15, .82) 58%, rgba(9, 22, 15, .17)), linear-gradient(0deg, #101b16, transparent 34%); }
.iim-world-c4p .iim-world-hero::before { background: linear-gradient(90deg, rgba(12, 23, 29, .95), rgba(12, 23, 29, .82) 58%, rgba(12, 23, 29, .2)), linear-gradient(0deg, #121c21, transparent 32%); }
.iim-world-ctc .iim-world-hero::before { background: linear-gradient(90deg, rgba(8, 20, 29, .95), rgba(8, 20, 29, .82) 58%, rgba(8, 20, 29, .18)), linear-gradient(0deg, #0e1b25, transparent 34%); }

/* Bronze, organic seasons, prize medals, blueprints and carved obsidian
   give the central pages visibly different materials rather than recolors. */
.iim-world-fih .iim-section { background-image: repeating-linear-gradient(115deg, transparent 0, transparent 76px, rgba(213, 183, 132, .025) 77px, transparent 78px); }
.uno-iim-theme .iim-world-fih .iim-gallery-item, .uno-iim-theme .iim-world-fih .iim-panel { position: relative; border-radius: 2px; border: 1px solid rgba(213, 183, 132, .35); outline: 1px solid rgba(213, 183, 132, .12); outline-offset: 5px; background-image: linear-gradient(135deg, rgba(213, 183, 132, .075), transparent 45%); }
.iim-world-fih .iim-gallery-item::before, .iim-world-fih .iim-panel::before { content: ''; position: absolute; top: -6px; left: -6px; width: 27px; height: 27px; border-top: 3px double var(--iim-world-accent); border-left: 3px double var(--iim-world-accent); pointer-events: none; }
.iim-world-fih .iim-gallery-item::after, .iim-world-fih .iim-panel::after { content: ''; position: absolute; bottom: -6px; right: -6px; width: 27px; height: 27px; border-bottom: 3px double var(--iim-world-accent); border-right: 3px double var(--iim-world-accent); pointer-events: none; }
.uno-iim-theme .iim-world-fih .iim-world-hero .elementor-heading-title { letter-spacing: .015em; }
.iim-world-1ac .iim-section { background-image: radial-gradient(ellipse at 100% 20%, rgba(110, 147, 89, .045), transparent 56%); }
.uno-iim-theme .iim-world-1ac .iim-gallery-item { border-radius: 36px 10px 36px 10px; border-color: rgba(153, 175, 131, .35); }
.uno-iim-theme .iim-world-1ac .iim-panel { border-radius: 40px 12px; border-color: rgba(153, 175, 131, .28); }
.uno-iim-theme .iim-world-1ac .iim-world-hero .elementor-heading-title { font-style: italic; letter-spacing: -.035em; }
.iim-world-1ac .iim-section-head::after { width: 230px; height: 28px; clip-path: none; background: var(--iim-world-accent); -webkit-mask: var(--iim-ornament-branch) center / contain no-repeat; mask: var(--iim-ornament-branch) center / contain no-repeat; }
.iim-seasons, .elementor .elementor-element.iim-seasons { display: grid; --display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px; }
.iim-seasons > .e-con { width: auto; --width: auto; min-width: 0; }
.iim-seasons .iim-step { padding: 28px 22px; border-radius: 28px 4px; border: 1px solid rgba(153, 175, 131, .3); background: rgba(23, 39, 28, .7); }
.iim-seasons .iim-step:nth-child(1) { border-top: 3px solid #91b28a; }
.iim-seasons .iim-step:nth-child(2) { border-top: 3px solid #e0bb78; }
.iim-seasons .iim-step:nth-child(3) { border-top: 3px solid #c69a78; }
.iim-seasons .iim-step:nth-child(4) { border-top: 3px solid #9fafce; }
.uno-iim-theme .iim-world-c4p .iim-gallery-item { position: relative; border-radius: 90px 90px 14px 14px / 36px 36px 14px 14px; border-color: rgba(223, 195, 139, .38); padding-top: 32px; }
.iim-world-c4p .iim-gallery-item::before { content: ''; position: absolute; top: -11px; left: calc(50% - 11px); width: 22px; height: 22px; background: var(--iim-world-accent); border: 4px solid var(--iim-world-deep); border-radius: 50%; box-shadow: 0 0 0 1px var(--iim-world-accent); pointer-events: none; }
.uno-iim-theme .iim-world-c4p .iim-panel { border-radius: 8px; border-top: 3px solid var(--iim-world-accent); }
.uno-iim-theme .iim-world-c4p .iim-world-hero .elementor-heading-title { font-family: var(--iim-sans); font-weight: 700; letter-spacing: -.045em; }
.iim-world-c4p .iim-section { background-image: repeating-linear-gradient(-35deg, transparent 0, transparent 143px, rgba(223, 195, 139, .018) 144px, transparent 146px); }
.iim-world-ctc .iim-section { background-image: linear-gradient(rgba(156, 200, 216, .026) 1px, transparent 1px), linear-gradient(90deg, rgba(156, 200, 216, .026) 1px, transparent 1px); background-size: 40px 40px; }
.uno-iim-theme .iim-world-ctc .iim-gallery-item, .uno-iim-theme .iim-world-ctc .iim-panel { position: relative; border-radius: 0; border-color: rgba(156, 200, 216, .25); }
.iim-world-ctc .iim-gallery-item::before, .iim-world-ctc .iim-panel::before { content: ''; position: absolute; top: -6px; left: -6px; width: 32px; height: 32px; border-top: 2px solid var(--iim-world-accent); border-left: 2px solid var(--iim-world-accent); pointer-events: none; }
.iim-world-ctc .iim-gallery-item::after, .iim-world-ctc .iim-panel::after { content: ''; position: absolute; bottom: -6px; right: -6px; width: 32px; height: 32px; border-bottom: 2px solid var(--iim-world-accent); border-right: 2px solid var(--iim-world-accent); pointer-events: none; }
.uno-iim-theme .iim-world-ctc .iim-world-hero .elementor-heading-title { font-family: var(--iim-sans); font-weight: 600; letter-spacing: -.055em; }
.iim-world-ctc .iim-step { border-top-style: double; border-top-width: 3px; }
.iim-world-ctc .iim-section-head::after { width: 180px; height: 15px; clip-path: none; border-top: 1px solid var(--iim-world-accent); border-inline: 1px solid var(--iim-world-accent); background: repeating-linear-gradient(90deg, var(--iim-world-accent) 0, var(--iim-world-accent) 1px, transparent 1px, transparent 12px) 0 100% / 100% 7px no-repeat; }
.iim-world-toi .iim-section { background-image: radial-gradient(ellipse at 12% 30%, rgba(123, 84, 167, .075), transparent 50%), repeating-linear-gradient(147deg, transparent 0, transparent 199px, rgba(187, 155, 232, .02) 200px, transparent 201px); }
.uno-iim-theme .iim-world-toi .iim-gallery-item, .uno-iim-theme .iim-world-toi .iim-panel { border-radius: 2px; border: 4px double rgba(187, 155, 232, .29); background-image: linear-gradient(135deg, rgba(187, 155, 232, .07), transparent 40%); box-shadow: 0 20px 38px rgba(0, 0, 0, .22); }
.uno-iim-theme .iim-world-toi .iim-world-hero .elementor-heading-title { letter-spacing: -.02em; }
.iim-world-toi .iim-lore { border-color: var(--iim-world-accent); }
.iim-world-toi .iim-section-head::after { width: 220px; height: 28px; clip-path: none; background: var(--iim-world-accent); -webkit-mask: var(--iim-ornament-glyph) center / contain no-repeat; mask: var(--iim-ornament-glyph) center / contain no-repeat; }

@media (hover: hover) and (pointer: fine) {
    .iim-world-portal:hover .iim-portal-window img { transform: scale(1.07); }
    .iim-world-portal:hover .iim-portal-window::before { box-shadow: 0 0 0 4px rgba(0, 0, 0, .35), inset 0 0 0 5px rgba(0, 0, 0, .22), 0 0 34px var(--iim-project-glow), 0 0 66px var(--iim-project-glow); }
    .iim-world-portal:hover .iim-portal-window::after { opacity: 1; }
}
.iim-world-portal:focus-within .iim-portal-window::after { opacity: 1; }
.iim-world-portal .iim-portal-window a:focus-visible { outline: 3px solid var(--iim-project-accent); outline-offset: -8px; }
@media (max-width: 1200px) {
    .iim-world-grid, .elementor .elementor-element.iim-world-grid { gap: 52px 24px; }
    .iim-world-portal .iim-portal-window { width: 240px; }
    .iim-seasons, .elementor .elementor-element.iim-seasons { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .iim-districts, .elementor .elementor-element.iim-districts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
    .iim-world-grid, .elementor .elementor-element.iim-world-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px 30px; }
    .iim-world-grid > .iim-world-portal, .iim-world-grid > .iim-world-portal:nth-child(n+4) { grid-column: auto; }
    .iim-world-grid > .iim-world-portal:last-child { grid-column: 1 / -1; }
    .iim-world-hero, .elementor .elementor-element.iim-world-hero { min-height: 610px; padding-block: 84px 96px; }
    .iim-world-hero .iim-hero-copy, .elementor .iim-world-hero .elementor-element.iim-hero-copy { max-width: 740px; }
    .iim-world-hero::before { background: linear-gradient(90deg, rgba(9, 13, 21, .9), rgba(9, 13, 21, .42)), linear-gradient(0deg, var(--iim-world-deep, #101727), transparent 45%); }
}
@media (max-width: 600px) {
    .iim-world-grid, .elementor .elementor-element.iim-world-grid { grid-template-columns: 1fr; gap: 54px; padding-block: 12px; }
    .iim-world-grid > .iim-world-portal:last-child { grid-column: auto; }
    .iim-world-portal, .elementor .elementor-element.iim-world-portal { padding: 10px 0 0; }
    .iim-world-portal .iim-portal-window { width: min(68vw, 280px); max-width: calc(100% - 56px); margin-block: 24px 30px; }
    .uno-iim-theme .iim-world-portal .elementor-heading-title { font-size: 30px; }
    .iim-world-hero, .elementor .elementor-element.iim-world-hero { min-height: 590px; padding-block: 68px 88px; }
    .iim-world-hero .iim-hero-copy, .elementor .iim-world-hero .elementor-element.iim-hero-copy { gap: 24px; }
    .iim-world-hero .iim-display, .uno-iim-theme .iim-world-hero .iim-display .elementor-heading-title { font-size: clamp(40px, 10.5vw, 58px); }
    .iim-world-backdrop img { object-position: 65% center; }
    .iim-world-hero::before, .iim-world-fih .iim-world-hero::before, .iim-world-toi .iim-world-hero::before, .iim-world-1ac .iim-world-hero::before, .iim-world-c4p .iim-world-hero::before, .iim-world-ctc .iim-world-hero::before { background: linear-gradient(0deg, var(--iim-world-deep, #101727), rgba(9, 13, 21, .84) 80%, rgba(9, 13, 21, .82)); }
    .iim-seasons, .elementor .elementor-element.iim-seasons { grid-template-columns: 1fr; }
    .iim-districts, .elementor .elementor-element.iim-districts { grid-template-columns: 1fr; }
}

/* V4: add real artwork beside the existing copy without changing world layout.
   Image widgets keep their native dimensions and remain editable in Elementor. */
.iim-visual-pair, .elementor .elementor-element.iim-visual-pair { display: grid; --display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); align-items: center; gap: clamp(30px, 5vw, 80px); }
.iim-visual-pair > .e-con, .iim-visual-pair > .elementor-widget { --width: auto; width: auto; min-width: 0; }
.iim-visual-copy, .elementor .elementor-element.iim-visual-copy { min-width: 0; align-items: flex-start; }
.iim-visual-copy .iim-section-head { margin-bottom: 12px; }
.iim-section-art, .elementor .elementor-element.iim-section-art { position: relative; isolation: isolate; width: 100%; --width: 100%; max-width: 420px; margin-inline: auto; padding: 0; align-items: center; }
.uno-iim-theme .iim-section-art img { display: block; width: 100%; height: auto; max-height: 430px; object-fit: contain; object-position: center; filter: drop-shadow(0 18px 25px rgba(0, 0, 0, .3)); }
.iim-section-art > .elementor-widget-image { width: 100%; }
.iim-section-art.iim-art-small { max-width: 330px; }
.uno-iim-theme .iim-art-small img { max-height: 280px; }
.iim-closing-visual .iim-section-art { max-width: 300px; }
.iim-intro-visual .iim-section-art { align-self: center; }
.iim-art-fih:not(.iim-card-composition) { padding: 12px; border: 1px solid rgba(213, 183, 132, .4); outline: 1px solid rgba(213, 183, 132, .13); outline-offset: 5px; background: linear-gradient(145deg, rgba(213, 183, 132, .08), transparent 65%); }
.iim-art-fih:not(.iim-card-composition)::before, .iim-art-fih:not(.iim-card-composition)::after { content: ''; position: absolute; width: 24px; height: 24px; pointer-events: none; border-color: #d5b784; border-style: solid; }
.iim-art-fih:not(.iim-card-composition)::before { inset: -6px auto auto -6px; border-width: 2px 0 0 2px; }
.iim-art-fih:not(.iim-card-composition)::after { inset: auto -6px -6px auto; border-width: 0 2px 2px 0; }
.iim-art-toi:not(.iim-card-composition) { padding: 16px; border: 3px double rgba(187, 155, 232, .36); border-radius: 35% 35% 3px 3px / 14% 14% 3px 3px; background: radial-gradient(ellipse at 50% 55%, rgba(126, 81, 190, .12), transparent 72%); }
.iim-art-c4p:not(.iim-card-composition) { padding: 14px; border-radius: 38px 38px 14px 14px; background: radial-gradient(ellipse, rgba(223, 195, 139, .1), transparent 70%); }
.uno-iim-theme .iim-world-c4p .iim-art-c4p .elementor-widget-image img { width: auto; max-width: 100%; margin-inline: auto; border-radius: 24px; }
.iim-art-ctc:not(.iim-card-composition) { padding: 12px; border: 1px solid rgba(156, 200, 216, .22); background: linear-gradient(rgba(156, 200, 216, .04) 1px, transparent 1px), linear-gradient(90deg, rgba(156, 200, 216, .04) 1px, transparent 1px); background-size: 24px 24px; }
.iim-art-ctc:not(.iim-card-composition)::before { content: ''; position: absolute; inset: -6px; border-top: 1px solid rgba(156, 200, 216, .45); border-bottom: 1px solid rgba(156, 200, 216, .45); pointer-events: none; }
.iim-art-1ac { background: none; }
.uno-iim-theme .iim-world-1ac .iim-section-art.iim-art-1ac { max-width: 460px; background: none; }
.uno-iim-theme .iim-world-1ac .iim-art-1ac img { max-height: 470px; filter: drop-shadow(0 22px 22px rgba(0, 0, 0, .3)); }
.uno-iim-theme .iim-world-1ac .iim-art-1ac.iim-art-small img { max-height: 360px; }
/* V5 frames follow the artwork's actual portrait or landscape proportions. */
.iim-section-art.iim-art-landscape, .elementor .elementor-element.iim-section-art.iim-art-landscape { max-width: 480px; }
.uno-iim-theme .iim-art-landscape img { width: 100%; height: auto; max-height: none; aspect-ratio: 16 / 10; object-fit: cover; object-position: center; }
.uno-iim-theme .iim-closing-visual .iim-art-landscape img { aspect-ratio: 4 / 3; }
.iim-section-art.iim-art-prominent, .elementor .elementor-element.iim-section-art.iim-art-prominent { max-width: 420px; }
.uno-iim-theme .iim-art-prominent img { max-height: 440px; }
.iim-section-art.iim-art-portrait, .elementor .elementor-element.iim-section-art.iim-art-portrait { width: min(100%, 300px); --width: min(100%, 300px); max-width: 300px; padding: 10px; }
.iim-section-art.iim-art-portrait.iim-art-prominent, .elementor .elementor-element.iim-section-art.iim-art-portrait.iim-art-prominent { width: min(100%, 340px); --width: min(100%, 340px); max-width: 340px; }
.uno-iim-theme .iim-art-portrait img { display: block; width: 100%; height: auto; max-height: none; aspect-ratio: auto; object-fit: contain; }
.uno-iim-theme .iim-world-1ac .iim-visual-pair.iim-closing-visual { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); }
.uno-iim-theme .iim-world-1ac .iim-closing-visual .iim-section-art { max-width: 430px; margin-inline: 0; justify-self: start; }
.uno-iim-theme .iim-world-1ac .iim-closing-visual .iim-section-art img { max-height: 430px; }
.iim-card-composition, .elementor .elementor-element.iim-card-composition { position: relative; isolation: isolate; min-height: 410px; padding: 18px; border: 0; outline: 0; background: radial-gradient(ellipse at 50% 65%, rgba(214, 183, 119, .07), transparent 70%); }
.iim-card-composition > .elementor-widget-image { position: absolute; width: 54%; --container-widget-width: 54%; margin: 0; }
.iim-card-composition > .elementor-widget-image:nth-child(1) { top: 16%; left: 5%; z-index: 2; transform: rotate(-9deg); }
.iim-card-composition > .elementor-widget-image:nth-child(2) { top: 3%; right: 4%; z-index: 1; transform: rotate(9deg); }
.iim-card-composition > .elementor-widget-image:nth-child(3) { top: 25%; left: 28%; z-index: 3; transform: rotate(-2deg); }
.uno-iim-theme .iim-card-composition img { width: 100%; height: auto; max-height: none; border-radius: 8px; filter: drop-shadow(0 22px 18px rgba(0, 0, 0, .36)); }
.iim-home-conversation .iim-card-composition, .iim-home-conversation .elementor-element.iim-card-composition { min-height: 520px; max-width: 440px; }
.iim-home-conversation .iim-card-composition > .elementor-widget-image:nth-child(1) { top: 7%; left: 9%; z-index: 1; transform: rotate(-10deg); }
.iim-home-conversation .iim-card-composition > .elementor-widget-image:nth-child(2) { top: 6%; right: 8%; z-index: 2; transform: rotate(10deg); }
.iim-home-conversation .iim-card-composition > .elementor-widget-image:nth-child(3) { top: 23%; left: 23%; width: 56%; --container-widget-width: 56%; z-index: 3; transform: rotate(-2deg); }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    .iim-home-conversation .iim-card-composition > .elementor-widget-image { transition: translate 280ms ease, filter 280ms ease; }
    .iim-home-conversation .iim-card-composition:hover > .elementor-widget-image { translate: 0 -6px; }
}
.iim-atlas-copy, .elementor .elementor-element.iim-atlas-copy { width: min(100%, 90ch); --width: min(100%, 90ch); max-width: 90ch; margin-inline: auto; text-align: left; }

/* V5 uses the expanded square illustration, with no artificial dark bands. */
.uno-iim-theme .iim-project-c4p .iim-portal-window img { object-fit: cover; object-position: center; -webkit-mask-image: none; mask-image: none; transform-origin: center; }
/* Portrait width is bounded instead of stretched to banner width. The complete
   head and part of the chest remain inside the hero on wide and narrow screens. */
.uno-iim-theme .iim-world-c4p .iim-world-backdrop img { position: absolute; top: 0; right: 0; width: clamp(880px, 70vw, 1080px); height: auto; max-width: none; object-fit: contain; object-position: center top; -webkit-mask-image: linear-gradient(90deg, transparent, #000 25%, #000); mask-image: linear-gradient(90deg, transparent, #000 25%, #000); }
@media (max-width: 1024px) {
    .iim-visual-pair, .elementor .elementor-element.iim-visual-pair { grid-template-columns: 1fr; gap: 34px; }
    .iim-section-art, .elementor .elementor-element.iim-section-art { max-width: 380px; }
    .iim-home-conversation .iim-card-composition, .iim-home-conversation .elementor-element.iim-card-composition { min-height: 470px; max-width: 400px; }
    .uno-iim-theme .iim-world-1ac .iim-visual-pair.iim-closing-visual { grid-template-columns: 1fr; }
    .uno-iim-theme .iim-world-1ac .iim-section-art.iim-art-1ac { max-width: 410px; }
    .uno-iim-theme .iim-world-1ac .iim-closing-visual .iim-section-art { max-width: 370px; margin-inline: auto; justify-self: center; }
    .uno-iim-theme .iim-world-c4p .iim-world-backdrop img { top: 28px; right: -70px; }
}
@media (max-width: 600px) {
    .iim-visual-pair, .elementor .elementor-element.iim-visual-pair { gap: 28px; }
    .iim-section-art, .elementor .elementor-element.iim-section-art { max-width: 310px; }
    .uno-iim-theme .iim-section-art img { max-height: 360px; }
    .iim-card-composition, .elementor .elementor-element.iim-card-composition { min-height: 350px; }
    .iim-home-conversation .iim-card-composition, .iim-home-conversation .elementor-element.iim-card-composition { min-height: 390px; max-width: 320px; }
    .uno-iim-theme .iim-card-composition img { max-height: none; }
    .uno-iim-theme .iim-art-small img { max-height: 260px; }
    .iim-section-art.iim-art-landscape, .elementor .elementor-element.iim-section-art.iim-art-landscape { max-width: 330px; }
    .iim-section-art.iim-art-prominent, .elementor .elementor-element.iim-section-art.iim-art-prominent { max-width: 330px; }
    .iim-section-art.iim-art-portrait.iim-art-prominent, .elementor .elementor-element.iim-section-art.iim-art-portrait.iim-art-prominent { width: min(100%, 320px); --width: min(100%, 320px); max-width: 320px; }
    .uno-iim-theme .iim-art-landscape img, .uno-iim-theme .iim-art-portrait img { max-height: none; }
    .uno-iim-theme .iim-art-prominent img { max-height: 380px; }
    .uno-iim-theme .iim-art-portrait.iim-art-prominent img { max-height: none; }
    .uno-iim-theme .iim-world-1ac .iim-section-art.iim-art-1ac { max-width: 330px; }
    .uno-iim-theme .iim-world-1ac .iim-art-1ac img { max-height: 390px; }
    .uno-iim-theme .iim-world-1ac .iim-art-1ac.iim-art-small img { max-height: 320px; }
    .uno-iim-theme .iim-world-1ac .iim-closing-visual .iim-section-art { max-width: 330px; }
    .uno-iim-theme .iim-world-1ac .iim-closing-visual .iim-section-art img { max-height: 360px; }
    .uno-iim-theme .iim-world-c4p .iim-world-hero { min-height: 730px; }
    .uno-iim-theme .iim-world-c4p .iim-world-backdrop img { top: 380px; right: auto; left: 50%; width: 620px; transform: translateX(-63%); -webkit-mask-image: none; mask-image: none; }
    .uno-iim-theme .iim-world-c4p .iim-world-hero::before { background: linear-gradient(180deg, #121c21, #121c21 52%, rgba(9,13,21,.12) 78%, rgba(18,28,33,.85)); }
}

@media (prefers-reduced-motion: reduce) {
	.iim-reveal, .iim-reveal:not(.is-visible), .iim-reveal.is-visible { opacity: 1; transform: none; transition: none; }
	.iim-project-card:hover, .iim-gallery-item:hover, .iim-gallery-item:hover img, .iim-project-cover:hover img, .iim-project-card:hover .iim-project-image img, .iim-button:hover, .uno-iim-theme .iim-primary .elementor-button:hover, .uno-iim-theme .iim-secondary .elementor-button:hover { transform: none; }
	.iim-card-stack:hover .iim-stack-card1, .iim-card-stack:hover .iim-stack-card2, .iim-card-stack:hover .iim-stack-card3 { translate: none; }
	html { scroll-behavior: auto; }
	/* Accessibility override also covers native Elementor animation settings. */
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
	.iim-world-portal:hover .iim-portal-window img { transform: none; }
}
@media print {
	.iim-site-header, .iim-site-footer, .iim-studio-header, .iim-studio-footer, .iim-skip-link { display: none; }
	body, .iim-section, .iim-section-alt, .iim-panel, .iim-project-card, .iim-gallery-item { background: #fff; color: #000; box-shadow: none; }
	h1, h2, h3, .uno-iim-theme .elementor-heading-title, .iim-section p { color: #000; }
	.iim-hero::before, .iim-hero::after { display: none; }
	.iim-hero, .iim-band, .iim-section-dark { background: #fff; color: #000; }
	.iim-hero .elementor-heading-title, .iim-band .elementor-heading-title, .iim-section-dark .elementor-heading-title { color: #000; }
}
