@font-face{font-family:'IV Display';src:url('bricolage-display.woff2') format('woff2');font-style:normal;font-weight:600 800;font-display:swap}
.iv-site{--iv-accent:#2457ff;--iv-accent-hover:#1942cc;--iv-accent-text:#fff;--iv-ink:#11151c;--iv-muted:#545962;--iv-paper:#f5f3ee;--iv-warm:#eae7df;--iv-line:#d1cfc9;--iv-signal:#dfff00;--iv-on-signal:#11151c;--iv-red:var(--iv-accent);--iv-logo:var(--iv-accent);--iv-night:#11151c;--iv-night-text:#f5f3ee;--iv-night-muted:#c5c8ce;background:var(--iv-paper);font-size:17px}
.iv-site.iv-palette-coral{--iv-accent:#713b68;--iv-accent-hover:#54274c;--iv-ink:#24152d;--iv-muted:#66566c;--iv-paper:#f4f0e8;--iv-warm:#e9e0d9;--iv-line:#d2c6cf;--iv-signal:#ff695c;--iv-on-signal:#24152d;--iv-night:#24152d;--iv-night-text:#f4f0e8;--iv-night-muted:#d4c6d5;--iv-logo:#713b68}
.iv-site.iv-palette-mint{--iv-accent:#09635b;--iv-accent-hover:#074c46;--iv-ink:#073b3a;--iv-muted:#45625d;--iv-paper:#f4f5ef;--iv-warm:#e4eae0;--iv-line:#bdcdc5;--iv-signal:#bff3d5;--iv-on-signal:#073b3a;--iv-night:#073b3a;--iv-night-text:#f4f5ef;--iv-night-muted:#c0d7cc;--iv-logo:#09635b}
.iv-site ::selection{background:var(--iv-signal);color:var(--iv-on-signal)}.iv-site :focus-visible{outline-color:var(--iv-accent)}.iv-site input,.iv-site textarea{caret-color:var(--iv-accent)}.iv-site *{scrollbar-color:var(--iv-muted) var(--iv-warm)}
.iv-site h1,.iv-site h2,.iv-site h3{font-family:'IV Display','IV Sans',sans-serif;letter-spacing:-.035em;font-weight:650}.iv-site h1{font-size:clamp(48px,6.8vw,96px);line-height:.99;max-width:20ch}.iv-site h2{font-size:clamp(34px,4.2vw,60px);line-height:1.04}.iv-site h3{font-size:28px;line-height:1.12;letter-spacing:-.025em}.iv-wrap{max-width:1440px;padding-inline:60px}.iv-section{padding-block:110px}.iv-site a:hover{color:var(--iv-accent)}
.iv-site .iv-button{background:var(--iv-accent);border-color:var(--iv-accent);color:var(--iv-accent-text);border-radius:6px;transition:background .2s,transform .3s cubic-bezier(.16,1,.3,1)}.iv-site .iv-button:hover{background:var(--iv-accent-hover);border-color:var(--iv-accent-hover);color:var(--iv-accent-text);transform:translateY(-2px)}.iv-site .iv-button-outline{background:transparent;color:var(--iv-ink);border-color:var(--iv-ink)}.iv-site .iv-button-outline:hover{background:var(--iv-ink);color:var(--iv-paper)}
.iv-header,#iv-nav{background:var(--iv-paper)}.iv-brand svg{display:block;width:138px;height:37px;color:var(--iv-logo)}.iv-brand svg [fill]:not([fill="none"]){fill:currentColor}.iv-header .iv-menu-button{color:var(--iv-ink)}
/* The opening is a typographic poster followed by a composition of actual work. */
.iv-hero{padding:75px 0 0}.iv-hero-grid{display:block}.iv-hero-grid>div:first-child{position:relative;display:grid;grid-template-columns:1.35fr 1fr;column-gap:80px;align-items:end}.iv-hero h1{grid-column:1/-1;max-width:22ch;margin-bottom:38px;font-size:clamp(56px,7.1vw,96px)}.iv-hero h1 em{color:var(--iv-accent)}.iv-hero .iv-intro{max-width:49ch;font-size:19px;margin:0}.iv-hero .iv-actions{margin:0 0 3px;justify-content:flex-end;gap:20px}.iv-hero-note{grid-column:1/-1;padding-block:22px 38px;margin:0!important;color:var(--iv-muted)}
.iv-stage{position:relative;min-height:570px;margin-top:10px;padding:50px 9% 55px 5%;background:var(--iv-accent);border-radius:14px 14px 0 0;overflow:hidden;isolation:isolate}.iv-stage figure{margin:0}.iv-stage-main{position:relative;width:76%;z-index:1;transform:rotate(-3deg)}.iv-stage-main img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:top;border:0!important;border-radius:8px!important;box-shadow:0 22px 55px #0003;margin:0!important}.iv-stage figcaption{font-size:12px;font-weight:600;margin-top:10px;color:#fff}.iv-stage-secondary{position:absolute;right:4%;bottom:70px;width:35%;z-index:2;transform:rotate(5deg)}.iv-stage-secondary img{width:100%;aspect-ratio:1/1.04;object-fit:cover;object-position:top;border:0!important;box-shadow:0 22px 55px #0003;margin:0!important}.iv-stage-link{position:absolute;bottom:26px;left:5%;display:flex;align-items:center;gap:18px;color:var(--iv-on-signal)!important;background:var(--iv-signal);padding:18px 22px;text-decoration:none;border-radius:6px;z-index:3;font-family:'IV Display',sans-serif;font-size:21px;line-height:1.08}.iv-stage-link .iv-icon{color:inherit;width:30px;height:30px}.iv-stage-link>span:last-child{font-size:32px;margin-left:25px}
/* Numerical claims are owner supplied, with founder and survey periods explicit. */
.iv-kpi-section{background:var(--iv-night);color:var(--iv-night-text);padding:90px 0 100px}.iv-kpi-section h2{color:var(--iv-night-text);max-width:20ch;margin-bottom:65px}.iv-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px}.iv-kpi{border-top:1px solid #ffffff40;padding-top:22px}.iv-kpi-value{font-family:'IV Display',sans-serif;font-size:clamp(55px,6vw,84px);letter-spacing:-.04em;line-height:1.1;color:var(--iv-signal);font-variant-numeric:tabular-nums;white-space:nowrap;margin-bottom:20px!important;min-height:1.1em}.iv-kpi-value [data-count]{display:inline-block;min-width:1.1ch}.iv-kpi h3{font-size:21px;color:var(--iv-night-text);max-width:17ch;margin-bottom:12px}.iv-kpi>p:last-child{font-size:13px;color:var(--iv-night-muted);line-height:1.6}
.iv-system-section{padding:110px 0;background:var(--iv-warm)}.iv-system-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:center}.iv-system-title h2{max-width:15ch}.iv-flow{padding:0;background:transparent;border-radius:0;animation:none}.iv-flow figcaption{font-family:'IV Display';font-size:24px;line-height:1.2;font-weight:650;margin-bottom:30px;max-width:23ch}.iv-flow-track{gap:20px}.iv-flow-node{border-color:var(--iv-line);border-radius:6px;background:var(--iv-paper);padding:24px;min-height:130px}.iv-flow-core{background:var(--iv-accent);border-color:var(--iv-accent);color:var(--iv-accent-text);min-height:125px}.iv-flow-core small{color:var(--iv-accent-text)}.iv-flow-node strong{font-family:'IV Display';font-size:20px}.iv-flow-node small{font-size:12px}.iv-flow-node:nth-child(-n+2):after,.iv-flow-node:nth-child(n+4):before{height:20px;background:var(--iv-accent)}
.iv-proof{padding:34px 0;background:var(--iv-paper)}.iv-proof-inner p{font-size:14px}.iv-proof a{font-family:'IV Display';font-size:27px}
/* Editorial page rhythm: large titles on one side, readable material on the other. */
.iv-editorial>.iv-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}.iv-editorial>.iv-wrap>h2{max-width:15ch;font-size:clamp(34px,3.7vw,52px);position:sticky;top:115px;align-self:start}.iv-editorial-body{min-width:0}.iv-editorial-body>.iv-columns{grid-template-columns:1fr;gap:0}.iv-editorial-body>.iv-columns .iv-step{display:grid;grid-template-columns:1fr 1.2fr;gap:30px;padding:26px 0}.iv-step h3{font-size:25px;margin:0}.iv-step p{margin:0}.iv-section-dark{background:var(--iv-night);color:var(--iv-night-text)}.iv-section-dark h2,.iv-section-dark h3{color:var(--iv-night-text)}.iv-section-dark a:hover{color:var(--iv-signal)}.iv-section-dark .iv-step{border-color:#ffffff40}.iv-section-dark p{color:var(--iv-night-muted)}
.iv-services-showcase>.iv-wrap{display:block}.iv-services-showcase>.iv-wrap>h2{position:static;max-width:22ch;font-size:clamp(40px,5vw,68px);margin-bottom:65px}.iv-service-row{display:grid;grid-template-columns:1.1fr 1fr auto;gap:20px 50px;padding:35px 0;position:relative}.iv-service-row .iv-service-art{grid-column:1;grid-row:1/4;overflow:hidden;border-radius:10px}.iv-service-art img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1)}.iv-service-row:hover .iv-service-art img{transform:scale(1.035)}.iv-service-row h3{grid-column:2;align-self:end;font-size:clamp(28px,3vw,42px)}.iv-service-row h3>a{gap:15px;align-items:center}.iv-service-row h3 .iv-icon{width:27px;height:27px}.iv-service-row>p{grid-column:2;align-self:start;font-size:17px}.iv-service-row>.iv-service-arrow{grid-column:3;grid-row:1/4;border:1px solid var(--iv-line);border-radius:50%;width:54px;height:54px;display:flex;align-items:center;justify-content:center;align-self:center;transition:background .2s,color .2s}.iv-service-row:hover>.iv-service-arrow{background:var(--iv-accent);color:var(--iv-accent-text)}.iv-service-row:nth-child(even){grid-template-columns:1fr 1.1fr auto}.iv-service-row:nth-child(even) .iv-service-art{grid-column:2}.iv-service-row:nth-child(even) h3,.iv-service-row:nth-child(even)>p{grid-column:1}
.iv-project .iv-project-image,.iv-sector-slide .iv-project-image{border:0;border-radius:9px;aspect-ratio:16/11;object-fit:cover;object-position:top}.iv-carousel-rail{gap:24px}.iv-carousel-controls button{color:var(--iv-ink);border-color:var(--iv-line)}.iv-carousel-controls button:hover{background:var(--iv-ink);color:var(--iv-paper)}.iv-editorial:has(.iv-carousel)>.iv-wrap{display:block}.iv-editorial:has(.iv-carousel)>.iv-wrap>h2{position:static;max-width:22ch;margin-bottom:50px;font-size:clamp(40px,5vw,68px)}.iv-project-tag{color:var(--iv-accent)!important}.iv-sector-slide h3{font-size:32px}
.iv-page-intro{padding:65px 0 0}.iv-page-intro>.iv-wrap:first-child{padding-bottom:50px}.iv-page-intro h1{max-width:21ch;margin-bottom:35px}.iv-page-intro p{font-size:21px;line-height:1.6;max-width:62ch;margin-bottom:0}.iv-page-intro .iv-actions{margin-top:30px}.iv-breadcrumb{margin-bottom:38px}.iv-intro-visual{margin:0 auto;padding-bottom:30px!important}.iv-intro-visual img{width:100%;height:440px;object-fit:cover;object-position:center;border-radius:12px;border:0;margin:0}.iv-kind-case .iv-intro-visual img{height:auto;max-height:670px;object-fit:cover;object-position:top}.iv-project-visual .iv-project-image{border:0;border-radius:10px}
.iv-contact-section{padding-block:110px;background:var(--iv-warm)}.iv-contact-grid{gap:100px}.iv-contact-grid h2{font-size:clamp(44px,5.5vw,76px);max-width:12ch}.iv-form{border-radius:10px;background:var(--iv-paper);padding:38px}.iv-site input:not([type=checkbox]):not([type=hidden]),.iv-site select,.iv-site textarea{border-color:var(--iv-line);background:var(--iv-paper);color:var(--iv-ink)}.iv-site input::placeholder,.iv-site textarea::placeholder{color:var(--iv-muted)}.iv-faq details{padding:26px 0}.iv-faq summary{font-size:20px}.iv-faq details p{font-size:17px}
/* A magazine front, then an intentionally quiet, navigable reading experience. */
.iv-page-blog .iv-page-intro h1{font-size:clamp(64px,8vw,96px);max-width:none}.iv-page-blog .iv-page-intro{border-bottom:1px solid var(--iv-line)}.iv-page-blog .iv-section{padding-top:45px}.iv-filters{grid-template-columns:2fr 1fr auto;padding-bottom:22px}.iv-post-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:65px 50px;margin-top:45px}.iv-post-entry{border:0;padding:0;min-width:0}.iv-post-entry>.iv-cover-image{border-radius:10px;aspect-ratio:3/2;object-fit:cover;width:100%;margin-bottom:25px}.iv-post-entry h2{font-size:34px;line-height:1.1;margin-bottom:22px}.iv-post-entry>.iv-small{font-size:13px;margin-bottom:15px;color:var(--iv-accent);font-weight:700}.iv-page-blog .iv-post-entry:first-child{grid-column:1/-1;display:grid;grid-template-columns:1.3fr 1fr;gap:0 60px;align-content:center}.iv-page-blog .iv-post-entry:first-child>.iv-cover-image{grid-column:1;grid-row:1/5;margin:0}.iv-page-blog .iv-post-entry:first-child>p,.iv-page-blog .iv-post-entry:first-child>h2,.iv-page-blog .iv-post-entry:first-child>a{grid-column:2}.iv-page-blog .iv-post-entry:first-child>h2{font-size:clamp(32px,3.4vw,47px);align-self:center}.iv-page-blog .iv-post-entry:first-child>.iv-small{align-self:end;padding-top:18px}.iv-page-blog .iv-post-entry:first-child>a{align-self:start}.iv-page-blog .iv-post-entry:first-child>p:not(.iv-small){font-size:17px}.iv-post-entry>a{justify-self:start}
.iv-reading-progress{position:fixed;top:64px;left:0;right:0;height:3px;z-index:19;pointer-events:none}.iv-reading-progress>span{display:block;width:100%;height:100%;background:var(--iv-accent);transform:scaleX(0);transform-origin:left}.iv-article-meta{padding-top:35px}.iv-kind-article .iv-page-intro{padding-top:42px}.iv-kind-article .iv-page-intro h1{font-size:clamp(44px,5.6vw,78px);max-width:24ch}.iv-kind-article .iv-page-intro p{font-size:20px;max-width:70ch}.iv-article-cover{margin:0 auto;padding-bottom:0}.iv-article-cover img{width:100%;max-height:640px;aspect-ratio:2/1;object-fit:cover;border-radius:12px}.iv-reading-grid{display:grid;grid-template-columns:minmax(180px,280px) minmax(0,760px);gap:90px;justify-content:space-between}.iv-contents{position:sticky;top:100px;align-self:start;border-top:1px solid var(--iv-line);padding-top:22px}.iv-contents summary{font-family:'IV Display';font-size:22px;font-weight:650;cursor:pointer}.iv-contents ol{list-style:none;padding:0;margin:22px 0}.iv-contents li{margin:0 0 15px;font-size:14px;line-height:1.5}.iv-contents a{text-decoration:none;color:var(--iv-muted);display:block;padding-block:3px}.iv-contents a:hover,.iv-contents a[aria-current]{color:var(--iv-accent);text-decoration:underline}.iv-prose{max-width:760px;width:100%}.iv-prose h2{font-size:34px;scroll-margin-top:110px;margin-top:55px}.iv-prose h2:first-child{margin-top:0}.iv-prose p,.iv-prose li{font-size:18px;line-height:1.85}.iv-related{background:var(--iv-warm)}.iv-related h2{margin-bottom:45px}.iv-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.iv-related-grid a{text-decoration:none}.iv-related-grid img{aspect-ratio:3/2;object-fit:cover;border-radius:8px;width:100%;margin-bottom:24px}.iv-related-grid h3{font-size:26px}
.iv-footer{background:var(--iv-night);color:var(--iv-night-text)}.iv-footer h2,.iv-footer-invitation h2{color:var(--iv-night-text)}.iv-footer-brand{letter-spacing:-.04em}.iv-footer-brand span,.iv-footer a:hover{color:var(--iv-signal)}.iv-footer-top p,.iv-footer-invitation p,.iv-footer-bottom p{color:var(--iv-night-muted)}.iv-footer-invitation:after,.iv-footer-bottom{border-color:#ffffff35}.iv-footer-invitation:after{background:#ffffff35}.iv-footer .iv-button{background:var(--iv-signal);border-color:var(--iv-signal);color:var(--iv-on-signal)}.iv-footer .iv-button:hover{background:var(--iv-paper);border-color:var(--iv-paper);color:var(--iv-ink)}.iv-consent{background:var(--iv-paper);color:var(--iv-ink);border-color:var(--iv-line)}
@media(min-width:1500px){.iv-stage{min-height:630px}}
@media(max-width:1100px){.iv-wrap{padding-inline:35px}.iv-hero-grid>div:first-child{gap:30px}.iv-hero .iv-actions{justify-content:flex-start}.iv-stage{min-height:480px}.iv-editorial>.iv-wrap,.iv-system-layout{gap:45px}.iv-contact-grid{gap:45px}.iv-reading-grid{gap:45px;grid-template-columns:230px minmax(0,1fr)}.iv-kpi-grid{gap:25px}.iv-page-blog .iv-post-entry:first-child{gap:0 35px}}
@media(max-width:800px){.iv-wrap{padding-inline:25px}.iv-section,.iv-contact-section,.iv-system-section{padding-block:70px}.iv-hero{padding-top:48px}.iv-hero-grid>div:first-child{grid-template-columns:1fr;gap:0}.iv-hero h1{font-size:clamp(52px,9vw,76px);margin-bottom:28px}.iv-hero .iv-intro{font-size:18px;max-width:60ch}.iv-hero .iv-actions{margin-top:25px}.iv-hero-note{padding-block:22px 26px;font-size:12px}.iv-stage{min-height:410px;padding:35px 8% 65px 5%}.iv-stage-secondary{bottom:65px}.iv-kpi-section{padding-block:65px}.iv-kpi-grid{grid-template-columns:1fr 1fr;gap:35px}.iv-kpi-value{font-size:66px}.iv-kpi-section h2{margin-bottom:40px}.iv-system-layout,.iv-editorial>.iv-wrap{grid-template-columns:1fr;gap:38px}.iv-editorial>.iv-wrap>h2{position:static;max-width:23ch}.iv-system-title h2{max-width:21ch}.iv-service-row{gap:15px 25px;grid-template-columns:1fr 1fr auto}.iv-service-row h3{font-size:28px}.iv-service-row h3 .iv-icon{display:none}.iv-service-row>p{font-size:15px}.iv-service-row>.iv-service-arrow{width:44px;height:44px}.iv-contact-grid{grid-template-columns:1fr}.iv-page-intro{padding-top:45px}.iv-intro-visual img{height:350px}.iv-page-blog .iv-post-entry:first-child{display:block}.iv-page-blog .iv-post-entry:first-child>.iv-cover-image{margin-bottom:25px}.iv-post-grid{gap:45px 30px}.iv-post-entry h2{font-size:29px}.iv-reading-grid{grid-template-columns:1fr;gap:35px}.iv-contents{position:static}.iv-contents details:not([open]) nav{display:none}.iv-related-grid{gap:24px}.iv-related-grid h3{font-size:22px}.iv-article-cover img{aspect-ratio:3/2}.iv-article-meta{font-size:12px}.iv-footer .iv-wrap{padding-inline:26px}}
@media(max-width:600px){.iv-wrap{padding-inline:20px}.iv-site h1{font-size:46px}.iv-site h2{font-size:37px}.iv-site h3{font-size:26px}.iv-hero{padding-top:38px}.iv-hero h1{font-size:clamp(45px,11.5vw,66px);letter-spacing:-.04em}.iv-hero .iv-intro{font-size:17px}.iv-hero .iv-actions{gap:17px}.iv-hero .iv-actions .iv-button{font-size:14px;padding:16px 19px}.iv-stage{min-height:315px;margin-top:0;padding-top:27px;margin-inline:-20px;border-radius:0}.iv-stage-main{width:86%;transform:rotate(-3deg)}.iv-stage-secondary{width:38%;right:5%;bottom:47px}.iv-stage-link{font-size:16px;padding:12px 15px;bottom:18px;gap:10px}.iv-stage-link .iv-icon{width:24px;height:24px}.iv-stage-link>span:last-child{font-size:24px;margin-left:5px}.iv-stage figcaption{font-size:10px;margin-top:7px}.iv-kpi-section h2{font-size:37px}.iv-kpi-grid{gap:30px 20px}.iv-kpi-value{font-size:57px;margin-bottom:12px!important}.iv-kpi h3{font-size:19px}.iv-kpi>p:last-child{font-size:12px}.iv-flow-node{padding:18px 15px;min-height:125px}.iv-flow-node strong{font-size:18px}.iv-flow figcaption{font-size:23px}.iv-proof-inner{gap:22px}.iv-proof a{font-size:22px}.iv-proof-inner p{font-size:13px}.iv-service-row,.iv-service-row:nth-child(even){grid-template-columns:1fr auto;gap:16px 20px;padding:28px 0 35px}.iv-service-row .iv-service-art,.iv-service-row:nth-child(even) .iv-service-art{grid-column:1/-1;grid-row:1}.iv-service-row h3,.iv-service-row:nth-child(even) h3{grid-column:1;grid-row:2;align-self:center;font-size:30px}.iv-service-row>p,.iv-service-row:nth-child(even)>p{grid-column:1/-1;grid-row:3;font-size:16px}.iv-service-row>.iv-service-arrow{grid-column:2;grid-row:2}.iv-editorial-body>.iv-columns .iv-step{grid-template-columns:1fr;gap:14px}.iv-section,.iv-system-section,.iv-contact-section{padding-block:60px}.iv-services-showcase>.iv-wrap>h2,.iv-editorial:has(.iv-carousel)>.iv-wrap>h2{font-size:40px;margin-bottom:30px}.iv-page-intro>.iv-wrap:first-child{padding-bottom:35px}.iv-page-intro p{font-size:18px}.iv-breadcrumb{margin-bottom:28px}.iv-intro-visual img{height:260px}.iv-contact-grid h2{font-size:44px}.iv-form{padding:25px 20px}.iv-page-blog .iv-page-intro h1{font-size:64px}.iv-post-grid{grid-template-columns:1fr;margin-top:28px}.iv-post-entry h2,.iv-page-blog .iv-post-entry:first-child>h2{font-size:32px}.iv-post-entry>.iv-cover-image{margin-bottom:20px}.iv-post-entry p{font-size:16px}.iv-kind-article .iv-page-intro h1{font-size:44px}.iv-kind-article .iv-page-intro p{font-size:18px}.iv-article-meta{gap:8px;padding-top:25px}.iv-reading-progress{top:60px}.iv-contents summary{font-size:21px}.iv-prose h2{font-size:30px}.iv-prose p,.iv-prose li{font-size:17px}.iv-related-grid{grid-template-columns:1fr;gap:35px}.iv-related-grid h3{font-size:27px}.iv-article-cover img{aspect-ratio:3/2}.iv-footer .iv-wrap{padding-inline:20px}.iv-brand svg{width:126px;height:34px}}
@media(prefers-reduced-motion:reduce){.iv-stage-main,.iv-stage-secondary{transform:none}.iv-reading-progress{display:none}}

.iv-brand svg path,.iv-footer-brand svg path{fill:currentColor}.iv-footer-brand svg{display:block;width:215px;max-width:100%;height:auto;color:var(--iv-signal)}

/* Keep work captions outside the invitation overlay and keep phone filters usable. */
.iv-stage{padding-bottom:135px}.iv-stage-secondary{bottom:135px}.iv-stage-link{bottom:28px}.iv-stage figcaption{position:relative;z-index:4}
.iv-button .iv-icon,.iv-text-link .iv-icon{width:18px;height:18px;vertical-align:middle;color:inherit;display:inline-block}.iv-service-arrow .iv-icon{width:24px;height:24px;color:inherit}.iv-stage-link>.iv-icon:last-child{width:28px;height:28px;color:inherit}.iv-stage-link>span:last-child .iv-icon{width:25px;height:25px;color:inherit}
.iv-page-blog .iv-post-entry:first-child>.iv-cover-image{grid-row:1/5}.iv-page-blog .iv-post-entry:first-child>h2{grid-row:1;align-self:end;padding-top:15px}.iv-page-blog .iv-post-entry:first-child>.iv-small{grid-row:2;align-self:start;padding-top:0;margin-top:0}.iv-page-blog .iv-post-entry:first-child>p:not(.iv-small){grid-row:3}.iv-page-blog .iv-post-entry:first-child>a{grid-row:4}
@media(max-width:600px){.iv-filters{grid-template-columns:1fr;gap:16px}.iv-filters .iv-button{width:100%}.iv-stage{padding-bottom:100px;min-height:350px}.iv-stage-secondary{bottom:95px}.iv-stage-link{bottom:18px}.iv-stage figcaption{font-size:10px}.iv-page-blog .iv-post-entry:first-child>h2{padding-top:0}}
/* Anonymous solutions: original palette-aware SVGs, never client interfaces. */
.iv-scene{display:block;width:100%;height:auto;aspect-ratio:1200/650;border-radius:12px;overflow:hidden}.iv-intro-visual>.iv-scene{max-height:480px}.iv-showcase-feature{margin:0 auto}.iv-showcase-feature figcaption,.iv-showcase-note{font-size:12px;color:var(--iv-muted);margin:16px 0 0;line-height:1.6}.iv-showcase-feature .iv-scene{max-height:640px}.iv-showcase-slide{overflow:hidden}.iv-showcase-caption{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:26px 3px 12px}.iv-showcase-caption h2{font-size:32px;margin-bottom:10px;position:static}.iv-showcase-caption p{font-size:16px;color:var(--iv-muted);margin:0}.iv-showcase-caption>.iv-text-link{flex-shrink:0}.iv-showcase-carousel>.iv-carousel-rail>*{flex-basis:calc(70% - 12px)}.iv-showcase-carousel>.iv-carousel-rail.iv-carousel-single>*{flex-basis:100%;max-width:none}.iv-hero-carousel{margin-top:15px;padding-bottom:30px}.iv-hero-carousel>.iv-carousel-rail>*{flex-basis:88%}.iv-hero-carousel .iv-scene{aspect-ratio:1200/590;object-fit:cover}.iv-showcase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:65px 45px;margin-top:45px}.iv-showcase-grid h2{font-size:32px;margin-top:24px;margin-bottom:15px}.iv-showcase-grid h2 a,.iv-showcase-picture{text-decoration:none}.iv-showcase-grid p{font-size:16px;color:var(--iv-muted)}.iv-showcase-carousel .iv-carousel-prev .iv-icon{transform:rotate(-135deg)}.iv-showcase-carousel .iv-carousel-next .iv-icon{transform:rotate(45deg)}.iv-service-art .iv-scene{border-radius:10px}.iv-sector-slide>.iv-scene{margin-bottom:25px}.iv-proof-inner{gap:25px}.iv-proof a{font-size:21px}.iv-showcase-caption .iv-icon{display:inline-block;width:19px;height:19px;color:inherit;vertical-align:middle}
.iv-scene-route{stroke-dasharray:16 13}.iv-scene.is-in-view .iv-scene-route{animation:iv-route-travel 2.8s linear infinite}.iv-scene.is-in-view .iv-scene-orb{animation:iv-orb-breathe 3.4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.iv-carousel[data-playing="false"] .iv-scene *,.iv-site.iv-document-hidden .iv-scene *{animation-play-state:paused!important}@keyframes iv-route-travel{to{stroke-dashoffset:-116}}@keyframes iv-orb-breathe{50%{transform:translateY(-8px)}}
/* Header movement never changes the document's layout. */
.iv-site{--iv-header-visible-height:64px;--iv-admin-offset:0px}.iv-header{transition:transform .18s cubic-bezier(.16,1,.3,1);transform:translateY(0)}.iv-header.is-scrolling-away{transform:translateY(-100%)}.iv-header:focus-within{transform:translateY(0)}.iv-site.admin-bar{--iv-admin-offset:32px}.iv-reading-progress{top:calc(var(--iv-admin-offset) + var(--iv-header-visible-height));transition:top .18s cubic-bezier(.16,1,.3,1)}.iv-logo-symbol{transform-origin:26.75px 26.75px}.iv-brand:hover .iv-logo-symbol,.iv-brand:focus-visible .iv-logo-symbol{animation:iv-logo-greet .35s cubic-bezier(.16,1,.3,1)}@keyframes iv-logo-greet{45%{transform:rotate(8deg)}100%{transform:rotate(0)}}
/* Compact, static tools selection. All rules stay inside this section. */
.iv-tools-section{padding:64px 0;background:var(--iv-warm);scroll-margin-top:96px}
.iv-tools-section .iv-tools-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:center;gap:clamp(32px,5vw,80px)}
.iv-tools-section h2{font-size:clamp(32px,3vw,44px);line-height:1.12;max-width:21ch;margin:0 0 18px}
.iv-tools-section .iv-tools-intro{font-size:16px;line-height:1.65;color:var(--iv-muted);max-width:52ch;margin:0!important}
.iv-tools-section .iv-tool-list{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:32px 20px;align-items:center;list-style:none;margin:0;padding:0}
.iv-tools-section .iv-tool{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0;margin:0;padding:0;font-size:13px;line-height:1.35;color:var(--iv-ink)}
.iv-tools-section .iv-tool svg{display:block;width:32px;height:32px;fill:currentColor;flex-shrink:0}
@media(max-width:1000px){.iv-tools-section .iv-tools-layout{grid-template-columns:1fr;gap:32px}.iv-tools-section .iv-tools-copy{max-width:620px}}
@media(max-width:600px){.iv-tools-section{padding-block:44px}.iv-tools-section .iv-tool-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 20px}.iv-tools-section .iv-tool{flex-direction:row;align-items:center;gap:12px}.iv-tools-section .iv-tool svg{width:28px;height:28px}}
.iv-article-cover figcaption{font-size:12px;color:var(--iv-muted);margin-top:12px}
@media(max-width:900px){.iv-showcase-caption{display:block}.iv-showcase-caption>.iv-text-link{display:inline-block;margin-top:20px}.iv-showcase-carousel>.iv-carousel-rail>*{flex-basis:85%}}
@media(max-width:782px){.iv-site.admin-bar{--iv-admin-offset:46px}}
@media(max-width:600px){.iv-site{--iv-header-visible-height:60px}.iv-showcase-carousel>.iv-carousel-rail>*{flex-basis:92%}.iv-hero-carousel>.iv-carousel-rail>*{flex-basis:94%}.iv-showcase-caption h2{font-size:27px}.iv-showcase-caption{padding-top:20px}.iv-showcase-caption p{font-size:15px}.iv-showcase-caption>.iv-text-link{font-size:14px;margin-top:16px}.iv-showcase-grid{grid-template-columns:1fr;gap:40px}.iv-showcase-grid h2{font-size:29px}.iv-showcase-caption>.iv-text-link{max-width:100%}.iv-showcase-note{font-size:11px}}
@media(prefers-reduced-motion:reduce){.iv-header.is-scrolling-away{transform:none}.iv-scene *,.iv-brand .iv-logo-symbol{animation:none!important}.iv-header,.iv-reading-progress{transition:none}}
/* Fit the opening composition into the currently visible browser viewport. */
.iv-site{--iv-header-base-height:64px}.iv-hero{height:calc(100svh - var(--iv-header-base-height));height:calc(100dvh - var(--iv-header-base-height));padding:28px 0 24px;min-height:0}.iv-hero-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:45px;align-items:center;height:100%;min-height:0}.iv-hero-grid>div:first-child{display:block;min-width:0;min-height:0}.iv-hero h1{font-size:clamp(40px,min(5.2vw,9svh),76px);max-width:15ch;margin-bottom:24px}.iv-hero .iv-intro{font-size:17px;line-height:1.6;max-width:48ch}.iv-hero .iv-actions{justify-content:flex-start;margin-top:25px;gap:18px}.iv-hero .iv-actions .iv-button{font-size:14px;padding:14px 18px;min-height:46px}.iv-hero .iv-text-link{font-size:14px}.iv-hero-note{padding:0;margin-top:22px!important;font-size:12px}.iv-hero-carousel{display:flex;flex-direction:column;height:100%;max-height:720px;padding:0;margin:0;min-height:0;align-self:center}.iv-hero-carousel>.iv-carousel-rail{flex:1;min-height:0;align-items:stretch}.iv-hero-carousel>.iv-carousel-rail>.iv-showcase-slide{flex-basis:94%;display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0}.iv-hero-carousel .iv-scene{height:100%;aspect-ratio:auto;min-height:0;background:var(--iv-warm)}.iv-hero-carousel .iv-showcase-caption{display:block;padding:20px 0 8px}.iv-hero-carousel .iv-showcase-caption h2{font-size:29px}.iv-hero-carousel .iv-showcase-caption p{font-size:15px;line-height:1.45}.iv-hero-carousel .iv-showcase-caption>.iv-text-link{display:inline-block;margin-top:16px}.iv-hero-carousel .iv-carousel-controls{flex-shrink:0;margin-top:4px;min-height:48px}.iv-hero-carousel .iv-showcase-note{flex-shrink:0;margin-top:7px;font-size:11px}.iv-hero-carousel .iv-carousel-hint{max-width:13ch;font-size:11px}.iv-hero-carousel .iv-carousel-controls button{min-height:44px}.iv-hero-carousel .iv-carousel-status{margin-right:5px}
#iv-nav{max-height:calc(100svh - var(--iv-header-base-height) - var(--iv-admin-offset));overflow-y:auto;overscroll-behavior:contain;gap:30px 55px}.iv-nav-group{min-width:0}.iv-header .iv-nav-group h2{font:700 14px/1.4 'IV Sans',sans-serif;letter-spacing:0;color:var(--iv-muted);margin:0 0 14px}#iv-nav .iv-nav-group a{display:block;font-size:18px;line-height:1.35;white-space:normal;padding:9px 0}.iv-header .iv-nav-group a[aria-current]{text-decoration:underline;text-underline-offset:5px}
@media(max-width:1000px){.iv-hero-grid{gap:25px;grid-template-columns:1fr 1fr}.iv-hero h1{font-size:clamp(38px,5.5vw,62px)}.iv-hero .iv-intro{font-size:15px}.iv-hero .iv-actions{gap:14px}.iv-hero-carousel .iv-showcase-caption h2{font-size:25px}.iv-hero-carousel .iv-showcase-caption p{font-size:14px}.iv-hero-carousel .iv-carousel-hint{display:none}}
@media(max-width:800px){.iv-hero{padding:22px 0 14px}.iv-hero-grid{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:15px}.iv-hero h1{font-size:clamp(32px,min(8.8vw,6.5svh),52px);max-width:none;line-height:.99;margin-bottom:16px}.iv-hero .iv-intro{font-size:14px;line-height:1.5;max-width:65ch}.iv-hero .iv-actions{margin-top:15px;gap:14px}.iv-hero .iv-actions .iv-button{min-height:44px;font-size:12px;padding:12px 15px}.iv-hero .iv-text-link{font-size:12px}.iv-hero-note{font-size:10px;line-height:1.4;margin-top:12px!important}.iv-hero-carousel{max-height:none}.iv-hero-carousel .iv-showcase-caption{display:flex;gap:12px;align-items:center;padding:10px 0 2px}.iv-hero-carousel .iv-showcase-caption h2{font-size:22px;margin:0}.iv-hero-carousel .iv-showcase-caption>div>p{display:none}.iv-hero-carousel .iv-showcase-caption>.iv-text-link{font-size:12px;margin:0;max-width:45%}.iv-hero-carousel .iv-carousel-controls{min-height:44px;margin-top:0}.iv-hero-carousel .iv-showcase-note{margin-top:4px;font-size:10px}.iv-hero-carousel>.iv-carousel-rail{padding-bottom:3px}.iv-hero-carousel .iv-carousel-hint{display:inline;font-size:10px}.iv-hero-carousel .iv-carousel-controls button{font-size:11px;padding:7px 9px;min-width:44px}.iv-hero-carousel .iv-carousel-status{font-size:11px}#iv-nav{grid-template-columns:1fr 1fr;gap:25px}.iv-nav-group:last-child{grid-column:1/-1}#iv-nav .iv-nav-group a{font-size:16px;padding:9px 0}}
@media(max-width:600px){.iv-site{--iv-header-base-height:60px}.iv-hero .iv-intro{font-size:13px}.iv-hero-carousel .iv-showcase-caption h2{font-size:20px}.iv-hero-carousel .iv-carousel-hint{display:none}.iv-hero-carousel .iv-carousel-status{margin-right:auto}.iv-hero .iv-actions{gap:12px}.iv-hero .iv-actions .iv-text-link{font-size:11px}}
@media(max-height:700px) and (max-width:800px){.iv-hero{padding-top:14px;padding-bottom:10px}.iv-hero h1{font-size:31px;margin-bottom:10px}.iv-hero .iv-intro{font-size:12px;line-height:1.4}.iv-hero .iv-actions{margin-top:10px}.iv-hero-note{display:none}.iv-hero-grid{gap:10px}.iv-hero-carousel .iv-showcase-caption{padding-top:7px}.iv-hero-carousel .iv-showcase-caption h2{font-size:18px}.iv-hero-carousel .iv-showcase-note{font-size:9px}}
@media(max-height:620px) and (min-width:600px){.iv-hero-grid{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.iv-hero-note{display:none}.iv-hero h1{font-size:36px}.iv-hero .iv-intro{font-size:13px}.iv-hero-carousel .iv-showcase-caption>div>p{display:none}}
@media(max-width:600px){.iv-footer-top{grid-template-columns:repeat(2,minmax(0,1fr))}.iv-footer-top>div{min-width:0}.iv-footer-top a,.iv-footer-top p{overflow-wrap:anywhere}}
/* Existing layouts, now using local reference imagery and short demonstrations. */
.iv-solution-media{position:relative;width:100%;min-width:0;overflow:hidden;border-radius:12px;background:var(--iv-warm);aspect-ratio:5/3}.iv-reference-image{display:block;width:100%;height:100%;object-fit:contain;object-position:center}.iv-service-art .iv-reference-image{aspect-ratio:auto;object-fit:contain}.iv-reference-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;pointer-events:none;background:var(--iv-warm)}.iv-solution-media.is-video-ready .iv-reference-video{opacity:1}.iv-video-toggle{position:absolute;right:12px;bottom:12px;z-index:2;border:1px solid var(--iv-night);border-radius:5px;min-height:44px;padding:9px 13px;background:var(--iv-night);color:var(--iv-night-text);font-size:12px;font-weight:700;line-height:1.3}.iv-video-toggle:hover{background:var(--iv-paper);color:var(--iv-ink)}.iv-hero-carousel .iv-showcase-slide>.iv-solution-media{height:100%;aspect-ratio:auto;min-height:0}.iv-showcase-feature>.iv-solution-media{max-height:640px}.iv-intro-visual>.iv-solution-media{max-height:480px}.iv-intro-visual .iv-reference-image{height:100%;border-radius:0;margin:0;object-fit:contain}.iv-sector-slide>.iv-solution-media{margin-bottom:25px}.iv-showcase-picture{display:block}.iv-showcase-slide .iv-solution-media,.iv-showcase-picture .iv-solution-media{pointer-events:auto}
.iv-workflow>.iv-wrap{display:block}.iv-workflow h2{max-width:24ch;margin-bottom:36px}.iv-workflow-tabs{display:flex;gap:10px 25px;flex-wrap:wrap;border-bottom:1px solid var(--iv-line);margin-bottom:36px}.iv-workflow-tabs button{border:0;border-bottom:2px solid transparent;background:none;color:var(--iv-muted);padding:14px 0;font-weight:700;font-size:15px;min-height:48px}.iv-workflow-tabs button[aria-selected="true"]{border-bottom-color:var(--iv-accent);color:var(--iv-accent)}.iv-workflow-panel{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center;margin-top:35px}.iv-workflow-panel h3{font-size:33px;max-width:20ch}.iv-workflow-panel p{font-size:17px}.iv-workflow-panel .iv-showcase-note{font-size:12px;margin-top:24px}.iv-workflow-panel>.iv-solution-media{min-width:0}.iv-media-unavailable .iv-video-toggle{display:none}
@media(max-width:800px){.iv-workflow-panel{grid-template-columns:1fr;gap:28px}.iv-workflow-panel h3{font-size:29px}.iv-workflow-tabs{gap:8px 20px;margin-bottom:28px}.iv-workflow-tabs button{font-size:14px}.iv-video-toggle{right:8px;bottom:8px;font-size:11px;padding:8px 10px}.iv-hero-carousel .iv-video-toggle{min-height:38px}}
@media(max-width:360px){.iv-workflow-tabs{display:grid;grid-template-columns:1fr}.iv-workflow-tabs button{text-align:left}}
.iv-video-toggle,.iv-hero-carousel .iv-video-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:10px}.iv-video-toggle .iv-icon{width:20px;height:20px;color:inherit;display:block}
/* Hero: intrinsic portrait frames, enhanced into a perspective deck. */
.iv-hero-carousel:not(.iv-deck)>.iv-carousel-rail>.iv-showcase-slide{display:none}
.iv-hero-carousel:not(.iv-deck)>.iv-carousel-rail>.iv-showcase-slide:first-child{display:grid;flex-basis:100%}
.iv-hero-carousel:not(.iv-deck) .iv-solution-media{aspect-ratio:var(--iv-video-ratio,5 / 6);width:auto;max-width:100%;height:100%;justify-self:center}
.iv-deck>.iv-carousel-rail{position:relative;display:block;overflow:visible;perspective:1200px;scroll-snap-type:none;touch-action:pan-y;isolation:isolate;padding:0;margin:0}
.iv-deck>.iv-carousel-rail>.iv-showcase-slide{position:absolute;inset:0;display:grid;grid-template-rows:minmax(0,1fr) var(--iv-deck-caption,120px);overflow:visible;pointer-events:none;min-width:0}
.iv-deck .iv-showcase-slide>.iv-solution-media{align-self:center;justify-self:center;aspect-ratio:var(--iv-video-ratio);height:auto;max-width:100%;margin:0;border-radius:12px;backface-visibility:hidden;transform-origin:center;box-shadow:0 14px 32px rgb(17 21 28 / .13);pointer-events:none}
.iv-deck .iv-showcase-slide.is-active{pointer-events:auto}
.iv-deck .iv-showcase-slide.is-active>.iv-solution-media{pointer-events:auto}
.iv-deck .iv-showcase-caption{visibility:hidden;position:relative;padding-right:58px;align-self:end;width:100%;min-width:0}
.iv-deck .is-active>.iv-showcase-caption{visibility:visible}
.iv-deck .iv-showcase-caption .iv-video-toggle{right:0;bottom:8px}
.iv-deck .is-video-ready .iv-reference-video{opacity:1}
.iv-deck .iv-reference-image{position:absolute;inset:0;object-fit:contain;width:100%;height:100%}
.iv-deck .iv-showcase-slide.is-active>.iv-solution-media{cursor:grab}
.iv-deck .iv-showcase-slide.is-active>.iv-solution-media:active{cursor:grabbing}
@media(prefers-reduced-motion:reduce){.iv-deck .iv-showcase-slide:not(.is-active)>.iv-solution-media{visibility:hidden!important}.iv-deck .iv-solution-media{transform:none!important}}

.iv-deck .iv-showcase-caption{justify-self:center;display:block;padding:16px 0 4px;max-width:100%}.iv-deck .iv-showcase-caption h2{font-size:26px}.iv-deck .iv-showcase-caption>.iv-text-link{display:block;padding-right:52px;margin-top:12px}.iv-deck .iv-showcase-caption .iv-video-toggle{bottom:0}.iv-deck .iv-showcase-caption p{font-size:14px}
@media(max-width:800px){.iv-deck .iv-showcase-caption{padding-top:10px}.iv-deck .iv-showcase-caption h2{font-size:20px}.iv-deck .iv-showcase-caption>.iv-text-link{max-width:none;font-size:12px;margin-top:8px;min-height:44px;display:flex;align-items:center}.iv-deck .iv-showcase-caption .iv-video-toggle{bottom:0}}
@media(max-height:620px){.iv-deck .iv-showcase-caption{padding-top:6px}.iv-deck .iv-showcase-caption h2{font-size:15px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:0}.iv-deck .iv-showcase-caption>.iv-text-link{font-size:11px;margin-top:2px;min-height:44px;padding-right:48px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:44px}.iv-deck .iv-showcase-caption>.iv-text-link .iv-icon{display:none}.iv-deck .iv-showcase-caption>div>p{display:none}}

/* Give the video priority; keep the caption and transport on its own axis. */
.iv-deck .iv-showcase-caption{padding-top:10px}.iv-deck .iv-showcase-caption h2{font-size:22px;line-height:1.2;margin:0}.iv-deck .iv-showcase-caption>div>p{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.iv-deck .iv-showcase-caption>.iv-text-link{margin-top:6px;min-height:44px;display:flex;align-items:center;font-size:12px}.iv-deck .iv-carousel-controls{align-self:center;justify-content:space-between;gap:6px;max-width:100%;flex-shrink:0;margin-top:5px;min-height:44px}.iv-deck .iv-carousel-controls button{width:44px;height:44px;min-width:44px;padding:10px;flex-shrink:0}.iv-deck .iv-carousel-controls .iv-icon{width:20px;height:20px}.iv-deck .iv-carousel-hint{display:none}.iv-deck .iv-carousel-status{margin-right:auto;font-size:11px}.iv-hero-grid>div:first-child>.iv-showcase-note{font-size:10px;margin-top:14px;max-width:46ch}
@media(max-width:800px){.iv-hero{min-height:740px}.iv-hero-grid{grid-template-rows:auto minmax(0,1fr)}.iv-hero .iv-actions{flex-wrap:nowrap;gap:12px}.iv-hero .iv-actions .iv-button{font-size:11px;padding:10px 12px;flex-shrink:0}.iv-hero .iv-actions .iv-text-link{font-size:11px;max-width:40%;line-height:1.4}.iv-hero .iv-hero-note{display:none}.iv-hero-grid>div:first-child>.iv-showcase-note{font-size:9px;margin-top:10px}.iv-deck .iv-showcase-caption h2{font-size:19px}.iv-deck .iv-showcase-caption>.iv-text-link{font-size:11px}.iv-deck .iv-carousel-controls{gap:4px}}
@media(max-height:620px) and (min-width:600px){.iv-hero{min-height:520px}.iv-hero-grid{grid-template-columns:.9fr 1.1fr;grid-template-rows:1fr}.iv-hero-carousel{max-height:none}.iv-deck .iv-showcase-caption h2{font-size:18px;white-space:normal}.iv-deck .iv-showcase-caption>.iv-text-link{line-height:1.4;white-space:normal}.iv-hero h1{font-size:36px}.iv-hero-grid>div:first-child>.iv-showcase-note{margin-top:12px}}

/* Stable geometry is present in the server-rendered HTML before scripts run. */
.iv-deck{container-type:size;--iv-deck-width:min(calc(100cqw - 72px),calc((100cqh - 205px) * .833333))}.iv-deck>.iv-carousel-rail>.iv-showcase-slide{grid-template-rows:minmax(0,1fr) 106px}.iv-deck .iv-showcase-slide>.iv-solution-media{width:var(--iv-deck-width);height:auto;aspect-ratio:var(--iv-video-ratio,5 / 6)}.iv-deck .iv-showcase-caption{width:var(--iv-deck-width);height:106px;align-self:end}.iv-deck .iv-carousel-controls{width:var(--iv-deck-width);visibility:hidden}.iv-deck.is-ready .iv-carousel-controls{visibility:visible}.iv-deck:not(.is-ready) .iv-showcase-slide:not(.is-active){visibility:hidden}.iv-deck:not(.is-ready) .iv-showcase-slide:first-child{z-index:10}.iv-deck .iv-showcase-caption h2{max-height:2.4em;overflow:hidden}.iv-deck .iv-showcase-caption>.iv-text-link{position:absolute;bottom:4px;left:0;right:0;margin:0}.iv-deck .iv-showcase-caption .iv-video-toggle{bottom:4px}.iv-deck .iv-showcase-caption>div{min-width:0}
/* Rear cards use video frames; their photographic posters are fallback-only. */
@media(prefers-reduced-motion:no-preference){.iv-deck .iv-showcase-slide:not(.is-active) .iv-reference-image{visibility:hidden}}

/* Connected systems: an open network, with one central operations hub. */
.iv-system-layout{grid-template-columns:.72fr 1.28fr;gap:65px}.iv-system-title .iv-icon{width:18px;height:18px;vertical-align:middle}.iv-flow-network{max-width:none;min-width:0}.iv-flow-network figcaption{font-family:'IV Sans',sans-serif;font-size:14px;line-height:1.5;font-weight:700;max-width:none;margin:0 0 26px}.iv-flow-network .iv-flow-track{display:grid;grid-template-columns:1fr .86fr 1fr;grid-template-rows:auto 180px auto;gap:35px 24px;position:relative;isolation:isolate;align-items:center}.iv-flow-network .iv-flow-node{z-index:1;border:0;border-radius:0;background:var(--iv-warm);padding:10px 0;min-height:120px;display:flex;align-items:center;text-align:center;justify-content:center;min-width:0;transform-origin:center}.iv-flow-network .iv-flow-node::before,.iv-flow-network .iv-flow-node::after{display:none}.iv-flow-network .iv-flow-node>.iv-icon{width:32px;height:32px;margin:0 0 14px;color:var(--iv-accent);transition:color .2s}.iv-flow-network .iv-flow-node strong{font-size:18px;line-height:1.25;max-width:18ch}.iv-flow-network .iv-flow-node small{font-size:12px;line-height:1.5;max-width:24ch;color:var(--iv-muted);margin-top:8px}.iv-flow-network .iv-flow-node:nth-of-type(1){grid-column:1;grid-row:1}.iv-flow-network .iv-flow-node:nth-of-type(2){grid-column:3;grid-row:1}.iv-flow-network .iv-flow-core{grid-column:2!important;grid-row:2!important;min-height:180px;border-radius:22px;padding:20px 12px;background:var(--iv-accent);color:var(--iv-accent-text)}.iv-flow-network .iv-flow-core strong{font-size:23px}.iv-flow-network .iv-flow-core small,.iv-flow-network .iv-flow-core>.iv-icon{color:var(--iv-accent-text)}.iv-flow-network .iv-flow-node:nth-of-type(4){grid-column:1;grid-row:3}.iv-flow-network .iv-flow-node:nth-of-type(5){grid-column:3;grid-row:3}.iv-flow-routes{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}.iv-flow-route{fill:none;stroke:var(--iv-accent);stroke-opacity:.35;stroke-width:1.5;vector-effect:non-scaling-stroke}.iv-flow-packet{fill:var(--iv-accent);stroke:var(--iv-warm);stroke-width:2;opacity:0}.iv-flow-network .iv-flow-node.is-flow-active>.iv-icon{color:var(--iv-ink)}.iv-flow-network .iv-flow-core.is-flow-active>.iv-icon{color:var(--iv-accent-text)}.iv-flow-network .iv-flow-caption{font-size:12px;line-height:1.65;max-width:67ch;margin-top:28px!important}.iv-flow-actions{min-height:44px;margin-top:12px}.iv-flow-replay{display:inline-flex;align-items:center;gap:10px;border:0;background:transparent;color:var(--iv-ink);padding:10px 0;min-height:44px;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.iv-flow-replay>.iv-icon{width:16px;height:16px;color:inherit}.iv-flow-replay:hover{color:var(--iv-accent)}
@media(max-width:1000px){.iv-system-layout{grid-template-columns:1fr;gap:32px}.iv-system-title{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.iv-system-title h2{max-width:19ch;margin-bottom:0}.iv-system-title>.iv-text-link{white-space:nowrap;margin-bottom:8px}.iv-flow-network{width:100%;max-width:760px;justify-self:center}}
@media(max-width:600px){.iv-system-title{display:block}.iv-system-title h2{max-width:18ch;margin-bottom:24px}.iv-flow-network .iv-flow-track{grid-template-columns:1fr 1fr;grid-template-rows:auto 170px auto;gap:42px 24px}.iv-flow-network .iv-flow-node{min-height:140px}.iv-flow-network .iv-flow-node strong{font-size:17px}.iv-flow-network .iv-flow-node small{font-size:12px}.iv-flow-network .iv-flow-node:nth-of-type(2){grid-column:2}.iv-flow-network .iv-flow-core{grid-column:1/-1!important;width:180px;justify-self:center;min-height:170px}.iv-flow-network .iv-flow-node:nth-of-type(5){grid-column:2}.iv-flow-network .iv-flow-node>.iv-icon{width:28px;height:28px}.iv-flow-network .iv-flow-core strong{font-size:23px}.iv-flow-network figcaption{font-size:13px;margin-bottom:22px}}
@media(prefers-reduced-motion:reduce){.iv-flow-network .iv-flow-node,.iv-flow-network .iv-icon{transition:none;transform:none!important}.iv-flow-packet{display:none}.iv-flow-replay{display:none}}

/* Compact network, with a platform-neutral ERP hub. */
.iv-flow-network .iv-flow-track{grid-template-rows:auto 140px auto;gap:24px 22px}.iv-flow-network .iv-flow-node{min-height:100px;padding:8px 0}.iv-flow-network .iv-flow-node>.iv-icon{width:27px;height:27px;margin-bottom:10px}.iv-flow-network .iv-flow-node strong{font-size:16px}.iv-flow-network .iv-flow-node small{margin-top:6px}.iv-flow-network .iv-flow-core{min-height:140px;border-radius:18px;padding:16px 10px}.iv-flow-network .iv-flow-core strong{font-size:23px}.iv-flow-network figcaption{margin-bottom:18px}.iv-flow-network .iv-flow-caption{margin-top:20px!important}
@media(max-width:600px){.iv-flow-network .iv-flow-track{grid-template-rows:auto 140px auto;gap:30px 20px}.iv-flow-network .iv-flow-node{min-height:118px}.iv-flow-network .iv-flow-core{width:150px;min-height:140px}.iv-flow-network .iv-flow-node strong{font-size:16px}.iv-flow-network .iv-flow-core strong{font-size:23px}}
@media(min-width:1001px){.iv-system-layout{grid-template-columns:minmax(0,1fr) 40%}.iv-flow-network .iv-flow-track{grid-template-columns:minmax(0,1fr) 140px minmax(0,1fr);column-gap:14px}.iv-flow-network .iv-flow-core{min-height:140px}.iv-flow-network .iv-flow-node strong{font-size:15px}.iv-flow-network .iv-flow-core strong{font-size:23px}}
/* Icon-led nodes with quieter labels. */
.iv-flow-network .iv-flow-node>.iv-icon{width:44px;height:44px;margin-bottom:8px}.iv-flow-network .iv-flow-node strong{font-family:'IV Sans',sans-serif;font-size:13px;line-height:1.3;font-weight:700}.iv-flow-network .iv-flow-node small{font-size:11px;line-height:1.4;margin-top:5px}.iv-flow-network .iv-flow-core{padding:12px 10px}.iv-flow-network .iv-flow-core>.iv-icon{width:48px;height:48px}.iv-flow-network .iv-flow-core strong{font-size:17px}

/* Routed connectors attach to icon sockets and individual hub ports. */
.iv-flow-route{stroke-opacity:.65;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.iv-flow-port{fill:var(--iv-warm);stroke:var(--iv-accent);stroke-width:1.35;vector-effect:non-scaling-stroke;opacity:.9}.iv-flow-packet{stroke-width:1.5}.iv-flow-replay{text-decoration:none;border:1px solid var(--iv-line);border-radius:6px;padding:10px 13px;min-height:44px}.iv-flow-replay:hover{background:var(--iv-paper)}
.iv-flow-port{visibility:hidden}.iv-flow-routes.is-routed .iv-flow-port{visibility:visible}
.iv-flow-route{stroke-width:3;stroke-opacity:.75}.iv-flow-network .iv-flow-node:not(.iv-flow-core){background:transparent}.iv-flow-port{stroke-width:1.75}
.iv-flow-network .iv-flow-node:not(.iv-flow-core)>strong,.iv-flow-network .iv-flow-node:not(.iv-flow-core)>small{background:var(--iv-warm)}

/* Six surrounding systems; fixed rows keep static and animated routes aligned. */
.iv-flow-network .iv-flow-track{grid-template-columns:30% 30% 30%;grid-template-rows:repeat(3,170px);gap:24px 5%;height:558px}.iv-flow-network .iv-flow-node{position:relative;display:block;width:100%;height:170px;min-height:170px;padding:0;align-self:start}.iv-flow-network .iv-flow-node>.iv-icon{position:absolute;left:50%;top:8px;transform:translateX(-50%);margin:0;width:44px;height:44px}.iv-flow-network .iv-flow-node>strong{position:absolute;top:64px;left:0;width:100%;max-width:none;font-size:13px;line-height:1.3}.iv-flow-network .iv-flow-node>small{position:absolute;top:102px;left:0;width:100%;max-width:none;font-size:11px;line-height:1.4;margin:0}.iv-flow-network .iv-flow-core{grid-column:2!important;grid-row:2!important;width:100%;height:170px;min-height:170px;border-radius:18px;padding:0}.iv-flow-network .iv-flow-core>.iv-icon{width:48px;height:48px}.iv-flow-network .iv-flow-core>strong{font-size:17px}.iv-flow-network .iv-flow-core>small{left:8px;width:calc(100% - 16px)}.iv-flow-network .iv-flow-node:nth-of-type(4){grid-column:1;grid-row:2}.iv-flow-network .iv-flow-node:nth-of-type(5){grid-column:3;grid-row:2}.iv-flow-network .iv-flow-node:nth-of-type(6){grid-column:1;grid-row:3}.iv-flow-network .iv-flow-node:nth-of-type(7){grid-column:3;grid-row:3}.iv-flow-port{visibility:visible}
@media(min-width:1001px){.iv-system-layout{grid-template-columns:minmax(0,1fr) 50%}}
.iv-flow-network .iv-flow-node:nth-of-type(2){grid-column:3;grid-row:1}.iv-flow-network .iv-flow-node>.iv-icon{left:calc(50% - 22px);transform:none}.iv-flow-network .iv-flow-core>.iv-icon{left:calc(50% - 24px)}.iv-flow-network .iv-flow-core>small{left:4px;width:calc(100% - 8px)}

/* Recognizable app examples around the ERP: eight satellite groups. */
.iv-flow-network .iv-flow-track{grid-template-rows:repeat(4,170px);height:752px}.iv-flow-network .iv-flow-core{grid-row:2/4!important;align-self:center}.iv-flow-network .iv-flow-node:nth-of-type(6){grid-column:1;grid-row:3}.iv-flow-network .iv-flow-node:nth-of-type(7){grid-column:3;grid-row:3}.iv-flow-network .iv-flow-node:nth-of-type(8){grid-column:1;grid-row:4}.iv-flow-network .iv-flow-node:nth-of-type(9){grid-column:3;grid-row:4}.iv-flow-network .iv-flow-node>.iv-flow-apps{left:50%;transform:translateX(-50%);width:min(100%,128px);height:48px;display:flex;justify-content:center;align-items:center;gap:6px;color:var(--iv-ink)}.iv-flow-app{flex:1 1 0;min-width:0;max-width:48px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--iv-paper);border-radius:6px;padding:4px}.iv-flow-app svg,.iv-flow-app img{display:block;width:100%;height:100%;object-fit:contain;max-width:100%;fill:currentColor}.iv-flow-network .iv-flow-core>.iv-flow-apps{left:50%}.iv-app-wordpress{color:#21759b}.iv-app-woocommerce{color:#96588a}.iv-app-react{color:#087ea4}.iv-app-flutter{color:#02569b}.iv-app-odoo{color:#714b67}.iv-app-sap{color:#0070ad}.iv-app-googleads{color:#4285f4}.iv-app-meta{color:#0866ff}.iv-app-zoho{color:#c8202b}.iv-app-zendesk{color:#03363d}.iv-app-paypal{color:#003087}.iv-app-stripe{color:#635bff}.iv-app-dhl{color:#d40511}.iv-flow-network .iv-flow-core>small{color:var(--iv-accent-text)}
@media(max-width:600px){.iv-flow-network .iv-flow-node>.iv-flow-apps{width:100%;gap:3px}.iv-flow-app{padding:3px;max-width:40px}.iv-flow-network .iv-flow-core>.iv-flow-apps{width:100%}}
@media(prefers-reduced-motion:reduce){.iv-flow-network .iv-flow-node>.iv-flow-apps{transform:translateX(-50%)!important}}

/* Group-avatar treatment: stacked marks unfold without changing brand artwork. */
.iv-flow-network .iv-flow-node>.iv-flow-apps{border:0;background:transparent;padding:0;cursor:pointer;overflow:visible;opacity:1}.iv-flow-apps:disabled{cursor:default}.iv-logo-enhanced .iv-flow-app{position:absolute;top:0;left:calc(50% - 22px);width:44px;max-width:none;height:44px;flex:none;z-index:calc(10 - var(--iv-logo-i));box-shadow:0 5px 12px rgb(17 21 28 / .12);transform:translate(var(--iv-logo-stack-x),calc(var(--iv-logo-i) * 2px)) rotate(var(--iv-logo-stack-angle));transition:transform .38s cubic-bezier(.16,1,.3,1),box-shadow .3s}.iv-logo-enhanced.is-open .iv-flow-app{transform:translate(var(--iv-logo-open-x),-8px) rotate(var(--iv-logo-open-angle));box-shadow:0 9px 18px rgb(17 21 28 / .15)}.iv-flow-network .iv-apps-open{z-index:6}.iv-flow-network .iv-flow-apps:focus-visible{outline:2px solid var(--iv-accent);outline-offset:6px;border-radius:8px}.iv-flow-network .iv-flow-core .iv-flow-apps:focus-visible{outline-color:var(--iv-accent-text)}
@media(prefers-reduced-motion:reduce){.iv-logo-enhanced .iv-flow-app{transition:none}}

/* Compact, consistently aligned services list on the homepage. */
.iv-services-showcase .iv-service-row,
.iv-services-showcase .iv-service-row:nth-child(even) {
  grid-template-columns: 180px minmax(0, 1fr) 44px;
  grid-template-rows: auto auto;
  gap: 10px 28px;
  padding-block: 26px;
  align-items: center;
}
.iv-services-showcase .iv-service-row .iv-service-art,
.iv-services-showcase .iv-service-row:nth-child(even) .iv-service-art {
  grid-column: 1;
  grid-row: 1 / 3;
  width: 180px;
}
.iv-services-showcase .iv-service-row h3,
.iv-services-showcase .iv-service-row:nth-child(even) h3 {
  grid-column: 2;
  grid-row: 1;
  align-self: end;
  margin: 0;
  font-size: clamp(23px, 2.3vw, 32px);
}
.iv-services-showcase .iv-service-row > p,
.iv-services-showcase .iv-service-row:nth-child(even) > p {
  grid-column: 2;
  grid-row: 2;
  margin: 0;
  align-self: start;
}
.iv-services-showcase .iv-service-row > .iv-service-arrow {
  grid-column: 3;
  grid-row: 1 / 3;
  justify-self: end;
}
.iv-services-showcase .iv-service-art img {
  aspect-ratio: auto;
  object-fit: contain;
}
@media (max-width: 600px) {
  .iv-services-showcase .iv-service-row,
  .iv-services-showcase .iv-service-row:nth-child(even) {
    grid-template-columns: 80px minmax(0, 1fr) 24px;
    gap: 10px 14px;
    padding-block: 22px;
  }
  .iv-services-showcase .iv-service-row .iv-service-art,
  .iv-services-showcase .iv-service-row:nth-child(even) .iv-service-art {
    width: 80px;
    align-self: start;
  }
  .iv-services-showcase .iv-service-row h3,
  .iv-services-showcase .iv-service-row:nth-child(even) h3 {
    font-size: 21px;
  }
  .iv-services-showcase .iv-service-row > p,
  .iv-services-showcase .iv-service-row:nth-child(even) > p {
    grid-column: 2 / 4;
    font-size: 14px;
  }
  .iv-services-showcase .iv-service-row > .iv-service-arrow {
    grid-row: 1;
  }
}


/* One native link per service gives pointer and keyboard users the same target. */
.iv-services-showcase a.iv-service-row {
  color: var(--iv-ink);
  text-decoration: none;
  isolation: isolate;
}
.iv-services-showcase a.iv-service-row::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: color-mix(in srgb, var(--iv-accent) 5%, transparent);
  opacity: 0;
  transition: opacity 200ms ease-out;
}
.iv-services-showcase a.iv-service-row:focus-visible {
  outline: 2px solid var(--iv-accent);
  outline-offset: 3px;
}
.iv-services-showcase a.iv-service-row:focus-visible::before { opacity: 1; }
.iv-services-showcase a.iv-service-row > .iv-service-arrow {
  border: 0;
  width: 32px;
  height: 32px;
  color: var(--iv-accent);
  transition: transform 200ms ease-out;
}
.iv-services-showcase a.iv-service-row:hover > .iv-service-arrow {
  background: transparent;
  color: var(--iv-accent);
}
.iv-services-showcase a.iv-service-row h3 > .iv-icon {
  display: none;
}
.iv-services-showcase a.iv-service-row .iv-service-art img {
  display: block;
  width: 100%;
  height: auto;
  transform: none;
}
@media (hover: hover) {
  .iv-services-showcase a.iv-service-row:hover::before { opacity: 1; }
  .iv-services-showcase a.iv-service-row:hover > .iv-service-arrow {
    transform: translate(3px, -3px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .iv-services-showcase a.iv-service-row::before,
  .iv-services-showcase a.iv-service-row > .iv-service-arrow {
    transition: none;
  }
  .iv-services-showcase a.iv-service-row:hover > .iv-service-arrow {
    transform: none;
  }
}

.iv-services-showcase a.iv-service-row .iv-service-art img {
  filter: grayscale(1);
  transition: filter 200ms ease-out;
}
.iv-services-showcase a.iv-service-row:focus-visible .iv-service-art img {
  filter: grayscale(0);
}
@media (hover: hover) {
  .iv-services-showcase a.iv-service-row:hover .iv-service-art img {
    filter: grayscale(0);
  }
}
@media (hover: none) {
  .iv-services-showcase a.iv-service-row:active .iv-service-art img {
    filter: grayscale(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .iv-services-showcase a.iv-service-row .iv-service-art img {
    transition: none;
  }
}

/* Service copy leads, with thumbnails aligned on the right. */
.iv-services-showcase a.iv-service-row,
.iv-services-showcase a.iv-service-row:nth-child(even) {
  grid-template-columns: minmax(0, 1fr) 180px 44px;
}
.iv-services-showcase a.iv-service-row .iv-service-art,
.iv-services-showcase a.iv-service-row:nth-child(even) .iv-service-art {
  grid-column: 2;
}
.iv-services-showcase a.iv-service-row h3,
.iv-services-showcase a.iv-service-row:nth-child(even) h3,
.iv-services-showcase a.iv-service-row > p,
.iv-services-showcase a.iv-service-row:nth-child(even) > p {
  grid-column: 1;
}
@media (max-width: 600px) {
  .iv-services-showcase a.iv-service-row,
  .iv-services-showcase a.iv-service-row:nth-child(even) {
    grid-template-columns: minmax(0, 1fr) 80px 24px;
  }
  .iv-services-showcase a.iv-service-row .iv-service-art {
    align-self: center;
  }
}

/* Keep workflow media against the right edge of its column. */
.iv-workflow-panel > .iv-solution-media {
  justify-self: end;
  margin-inline-start: auto;
}
.iv-workflow-panel .iv-reference-video,
.iv-workflow-panel .iv-reference-image {
  object-position: right center;
}
@media (min-width: 801px) {
  .iv-workflow-panel > div:first-child {
    grid-column: 1;
    grid-row: 1;
  }
  .iv-workflow-panel > .iv-solution-media {
    grid-column: 2;
    grid-row: 1;
  }
}


/* Preserve depth through the slide wrapper during the hero's card turns. */
.iv-deck > .iv-carousel-rail > .iv-showcase-slide {
  transform-style: preserve-3d;
}

/* Card turns can leave the rail briefly, but never extend the page sideways. */
.iv-hero {
  overflow-x: clip;
}

/* Mobile: give the complete video canvas the full content width. */
@media (max-width: 600px) {
  .iv-hero {
    height: auto;
    min-height: calc(100svh - var(--iv-header-base-height));
  }
  .iv-hero-grid {
    height: auto;
    grid-template-rows: auto auto;
  }
  .iv-hero-carousel.iv-deck {
    --iv-deck-width: 100cqw;
    width: 100%;
    height: calc((100vw - 40px) * 1.2 + 155px);
    max-height: none;
  }
}
