/* A + B: Calab's photographic mark and colour, followed by an editorial field story. */
.ip-page{--ip-paper:#fff;--ip-ink:#102039;--ip-muted:#526578;--ip-soft:#f3f6f8;--ip-line:#dce4eb;--ip-blue:#0059ff;background:var(--ip-paper);color:var(--ip-ink)}
html[data-theme=dark] .ip-page{--ip-paper:#101820;--ip-ink:#f2f7fc;--ip-muted:#b5c9da;--ip-soft:#17232d;--ip-line:#364859;--ip-blue:#8cbcff}
.ip-preview-nav:not(.is-scrolled){color:#fff}
.ip-preview-nav:not(.is-scrolled) .nav-shell{background:none;box-shadow:none;border-radius:0}
.ip-preview-nav:not(.is-scrolled) .brand-white{display:block}
.ip-preview-nav:not(.is-scrolled) .brand-dark{display:none}
.ip-preview-nav:not(.is-scrolled) .nav-contact{background:#fff;color:#121212;border-color:#fff}
.ip-preview-nav:not(.is-scrolled) .nav-mobile{border-color:#ffffff70}
.ip-page h2{font-size:clamp(38px,4vw,60px);line-height:1.08;letter-spacing:-.05em;font-weight:350}
.ip-page p{font-size:18px;line-height:1.65}
.ip-page .text-link{font-size:15px;line-height:1.5;gap:24px;min-height:44px}
.ip-page .text-link:is(:hover,:focus-visible){color:var(--ip-blue)}
.ip-chapter{display:block;color:var(--ip-muted);font-size:12px;line-height:1.6}
.ip-hero{background:#071829;padding:140px 0 0;color:#fff;position:relative;isolation:isolate}
.ip-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 85% 50%,#0059ff1a,transparent 55%);pointer-events:none}
.ip-hero-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:55px;align-items:center}
.ip-hero-copy{min-width:0;padding:20px 0 25px}
.ip-eyebrow{display:flex;align-items:center;gap:12px;font-size:12px!important;color:#b1cbdf;margin-bottom:30px}
.ip-sector-dot{width:8px;height:8px;background:linear-gradient(115deg,#4b91ff,#00d9dc);flex:none}
.ip-hero h1{font-size:clamp(70px,6.8vw,104px);font-weight:350;line-height:.99;letter-spacing:-.06em;text-wrap:initial;color:#fff}
.ip-hero h1>span{display:block;background:linear-gradient(110deg,#71adff,#00dcda);background-clip:text;-webkit-background-clip:text;color:transparent;padding-bottom:.06em}
.ip-hero .ip-hero-lead{font-size:18px;color:#bbcedd;max-width:495px;margin-top:27px;line-height:1.65}
.ip-explore{margin-top:28px;font-size:14px;min-height:51px}
.ip-explore svg{transform-origin:center}
.ip-explore:is(:hover,:focus-visible) svg{transform:rotate(135deg)!important}
.ip-hero-art{position:relative;margin:0;min-width:0;min-height:570px;display:flex;align-items:center;justify-content:center}
.ip-brand-photo{width:100%;height:570px;object-fit:cover;object-position:var(--ip-photo-position);mask:url('/images/brand/calab-mark-motion.webp') center/contain no-repeat;-webkit-mask:url('/images/brand/calab-mark-motion.webp') center/contain no-repeat}
.ip-hero-art figcaption{position:absolute;left:0;top:16px;color:#b1cbdf;font-size:11px;line-height:1.65}
.ip-art-rule{position:absolute;bottom:0;right:4%;width:32%;height:1px;background:linear-gradient(90deg,#0059ff,#00d9dc)}
.ip-hero-foot{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid #ffffff25;padding:25px 0;margin-top:35px;font-size:11px;line-height:1.6;color:#a9c3d7}
.ip-hero-foot>span:first-child{color:#fff}
.ip-industry-switch{background:var(--ip-paper);border-bottom:1px solid var(--ip-line)}
.ip-industry-switch>.wrap{display:flex;justify-content:space-between;gap:25px}
.ip-industry-switch a{display:flex;align-items:center;gap:32px;padding:23px 0;color:var(--ip-muted);font-size:14px;line-height:1.5;position:relative}
.ip-industry-switch a svg{width:17px;height:17px;opacity:.6}
.ip-industry-switch a[aria-current=page]{color:var(--ip-blue)}
.ip-industry-switch a[aria-current=page]:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--ip-blue)}
.ip-industry-switch a:hover{color:var(--ip-blue)}
.ip-editorial{display:grid;grid-template-columns:150px minmax(0,1fr);gap:45px;padding-block:80px 65px;scroll-margin-top:90px}
.ip-editorial-margin{padding-top:8px;display:flex;align-items:start;flex-direction:column;gap:55px;font-size:10px;line-height:1.7;letter-spacing:.04em}
.ip-editorial-margin>.ip-chapter{font-size:10px;color:var(--ip-muted);line-height:1.7;letter-spacing:.06em}
.ip-editorial-margin>span:nth-child(2){color:var(--ip-blue)}
.ip-editorial-margin>i{width:45px;height:3px;background:linear-gradient(90deg,#0059ff,#00d9dc)}
.ip-editorial-body>.ip-chapter{margin-bottom:25px}
.ip-editorial-body>h2{font-size:clamp(44px,4.6vw,70px);line-height:1.08;letter-spacing:-.055em;max-width:1100px}
.ip-editorial-body>h2>span{color:var(--ip-blue)}
.ip-photo-spread{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:30px;align-items:end;margin-top:38px}
.ip-field-main,.ip-photo-side figure{margin:0}
.ip-field-main img{width:100%;height:390px;object-fit:cover;object-position:50% 45%}
.ip-field-main figcaption,.ip-photo-side figcaption{color:var(--ip-muted);font-size:11px;line-height:1.6;margin-top:12px}
.ip-photo-side>p{font-size:clamp(25px,2.5vw,37px);line-height:1.15;letter-spacing:-.04em;color:var(--ip-ink);margin-bottom:25px}
.ip-photo-side>p>.ip-highlight{font-family:inherit;font-weight:350}
.ip-photo-side img{width:100%;height:235px;object-fit:cover;object-position:50% 40%}
.ip-editorial-intro{display:flex;align-items:center;justify-content:space-between;gap:50px;margin-top:32px}
.ip-editorial-intro>p{font-size:17px;line-height:1.7;max-width:630px;color:var(--ip-muted)}
.ip-editorial-intro>.text-link{flex:none}
.ip-work{padding-block:65px 80px;border-top:1px solid var(--ip-line);scroll-margin-top:90px}
.ip-section-heading{display:grid;grid-template-columns:150px minmax(0,1fr);gap:45px;margin-bottom:42px;align-items:start}
.ip-section-heading>.ip-chapter{padding-top:9px}
.ip-section-heading h2{font-size:clamp(38px,3.5vw,51px)}
.ip-section-heading p{max-width:560px;font-size:17px;color:var(--ip-muted);margin-top:20px}
.ip-use-cases{margin-left:195px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;align-items:start}
.ip-use-case{border-top:1px solid var(--ip-line);padding-top:22px;min-width:0}
.ip-use-number{display:block;font-size:11px;line-height:1.5;color:var(--ip-blue);margin-bottom:22px}
.ip-use-case h3{font-size:31px;line-height:1.15;font-weight:350;letter-spacing:-.04em;min-height:72px}
.ip-use-case>p{font-size:16px;line-height:1.7;color:var(--ip-muted);margin:18px 0 12px}
.ip-use-case>.text-link{font-size:13px;color:var(--ip-blue);gap:18px}
.ip-use-detail{border-top:1px solid var(--ip-line);margin-top:20px;padding-top:6px}
.ip-use-detail summary{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:44px;list-style:none;cursor:pointer;font-size:12px;color:var(--ip-muted)}
.ip-use-detail summary::-webkit-details-marker{display:none}
.ip-use-detail summary>span{display:block;position:relative;width:12px;height:12px;flex:none}
.ip-use-detail summary>span:before,.ip-use-detail summary>span:after{content:'';position:absolute;left:0;right:0;top:5px;height:1px;background:currentColor}
.ip-use-detail summary>span:after{transform:rotate(90deg)}
.ip-use-detail[open] summary>span:after{display:none}
.ip-use-detail summary:hover{color:var(--ip-blue)}
.ip-use-detail dl{margin:13px 0 0}
.ip-use-detail dl>div+div{margin-top:19px}
.ip-use-detail dt{font-size:11px;color:var(--ip-muted);line-height:1.6;margin-bottom:7px}
.ip-use-detail dd{font-size:14px;line-height:1.6;color:var(--ip-ink);margin:0}
.ip-example-note{font-size:11px!important;color:var(--ip-muted);line-height:1.6;margin:30px 0 0 195px}
.ip-evidence{padding-block:70px;background:#071829;color:#fff}
.ip-evidence .ip-chapter{color:#a9c3d7;margin-bottom:32px}
.ip-evidence-main{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:end}
.ip-evidence h2{font-size:clamp(50px,5.4vw,80px)}
.ip-evidence h2>span{background:linear-gradient(110deg,#71adff,#00dcda);background-clip:text;-webkit-background-clip:text;color:transparent}
.ip-evidence-main>div>p{font-size:18px;color:#bbcedd;max-width:460px}
.ip-evidence .text-link{color:#fff;margin-top:25px}
.ip-evidence .text-link:is(:hover,:focus-visible){color:#8cbcff}
.ip-fit{padding-block:80px 85px}
.ip-fit>.ip-chapter{margin-bottom:30px}
.ip-fit-main{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}
.ip-fit h2>span{color:var(--ip-blue)}
.ip-fit-main p{max-width:480px;color:var(--ip-muted);font-size:18px}
.ip-fit-links{display:flex;flex-wrap:wrap;gap:15px 34px;margin-top:24px}
.ip-close{background:#102a43;padding-block:70px}
.ip-close>.wrap{display:flex;align-items:center;justify-content:space-between;gap:50px}
.ip-close .ip-chapter{color:#b7d0e4;margin-bottom:23px}
.ip-close h2{font-size:clamp(40px,4.3vw,62px)}
.ip-close h2>span{color:#83b9ff}
.ip-close-actions{display:flex;flex-direction:column;align-items:flex-start;gap:20px;flex-shrink:0}
.ip-next{padding-block:55px 65px;display:grid;grid-template-columns:150px minmax(0,1fr);gap:45px}
.ip-next>.ip-chapter{padding-top:22px}
.ip-next>div>a{display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:29px;line-height:1.3;letter-spacing:-.035em;padding:20px 0;border-bottom:1px solid var(--ip-line)}
.ip-next>div>a:first-child{border-top:1px solid var(--ip-line)}
.ip-next>div>a:hover{color:var(--ip-blue)}
.ip-next svg{width:22px;height:22px}
@media(min-width:1700px){.ip-hero{padding-top:160px}.ip-hero-art{min-height:640px}.ip-brand-photo{height:640px}.ip-field-main img{height:440px}.ip-photo-side img{height:280px}}
@media(max-width:1100px){.ip-hero-layout{gap:30px}.ip-hero h1{font-size:7.3vw}.ip-hero-art{min-height:530px}.ip-brand-photo{height:530px}.ip-hero .ip-hero-lead{font-size:17px}.ip-editorial,.ip-section-heading,.ip-next{grid-template-columns:100px minmax(0,1fr);gap:30px}.ip-use-cases{margin-left:130px;gap:25px}.ip-example-note{margin-left:130px}.ip-field-main img{height:345px}.ip-photo-side img{height:195px}.ip-photo-spread{gap:23px}.ip-editorial-intro{gap:30px}.ip-editorial-intro>p{font-size:16px}.ip-use-case h3{font-size:27px;min-height:63px}.ip-use-case>p{font-size:15px}.ip-industry-switch a{gap:15px}.ip-evidence-main,.ip-fit-main{gap:45px}}
@media(max-width:850px){.ip-hero{padding-top:125px}.ip-hero-layout{grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:25px}.ip-hero h1{font-size:7.7vw}.ip-eyebrow{font-size:11px!important;margin-bottom:25px}.ip-hero-art{min-height:480px}.ip-brand-photo{height:480px}.ip-hero-art figcaption{font-size:10px;top:0;max-width:85px}.ip-hero .ip-hero-lead{font-size:16px}.ip-hero-foot{font-size:10px;gap:20px;margin-top:25px}.ip-industry-switch>.wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px}.ip-industry-switch a{justify-content:space-between;padding-block:17px}.ip-editorial{padding-block:60px 50px;grid-template-columns:1fr;gap:25px}.ip-editorial-margin{flex-direction:row;align-items:center;justify-content:space-between;padding:0;gap:25px}.ip-editorial-margin>span:nth-child(2){text-align:right}.ip-editorial-margin>i{display:none}.ip-editorial-margin>.ip-chapter br{display:none}.ip-editorial-body>h2{font-size:clamp(41px,6vw,58px)}.ip-editorial-body>.ip-chapter{font-size:11px;margin-bottom:22px}.ip-work{padding-block:50px 60px}.ip-section-heading{grid-template-columns:1fr;gap:22px;margin-bottom:35px}.ip-section-heading h2{font-size:42px}.ip-use-cases{margin-left:0;gap:25px}.ip-example-note{margin-left:0}.ip-use-case h3{font-size:26px;min-height:60px}.ip-evidence{padding-block:60px}.ip-evidence-main{gap:35px}.ip-evidence-main>div>p{font-size:17px}.ip-fit{padding-block:60px}.ip-fit-main{gap:35px}.ip-fit h2{font-size:40px}.ip-fit-main p{font-size:17px}.ip-fit-links{flex-direction:column;align-items:start;gap:10px}.ip-close{padding-block:55px}.ip-close>.wrap{gap:35px}.ip-close h2{font-size:42px}.ip-close-actions .button{font-size:14px}.ip-next{grid-template-columns:1fr;gap:25px;padding-block:45px}.ip-next>.ip-chapter{padding:0}}
@media(max-width:600px){.ip-page .wrap{width:calc(100% - 40px)}.ip-hero{padding-top:110px}.ip-hero-layout{grid-template-columns:minmax(0,1fr);gap:25px}.ip-hero-copy{padding:15px 0 0}.ip-eyebrow{margin-bottom:23px}.ip-hero h1{font-size:clamp(53px,14.4vw,76px);line-height:1.02;letter-spacing:-.06em}.ip-hero .ip-hero-lead{font-size:17px;margin-top:24px;max-width:440px}.ip-explore{font-size:13px;min-height:49px;margin-top:25px;gap:25px}.ip-hero-art{min-height:350px;max-width:450px;justify-self:center;width:100%}.ip-brand-photo{height:350px;object-position:50% 62%}.ip-hero-art figcaption{font-size:10px;top:7px;max-width:95px}.ip-art-rule{right:5%;width:30%}.ip-hero-foot{font-size:10px;gap:15px;padding-block:20px;margin-top:25px}.ip-hero-foot>span:last-child{display:none}.ip-industry-switch>.wrap{gap:0 22px}.ip-industry-switch a{font-size:12px;gap:10px;padding-block:15px}.ip-industry-switch a svg{width:14px;height:14px}.ip-editorial{padding-block:40px;gap:22px}.ip-editorial-margin{font-size:9px}.ip-editorial-margin>.ip-chapter{font-size:9px}.ip-editorial-body>.ip-chapter{font-size:10px;margin-bottom:22px}.ip-editorial-body>h2{font-size:clamp(36px,9vw,48px);line-height:1.08}.ip-photo-spread{grid-template-columns:1fr;gap:23px;margin-top:28px}.ip-field-main img{height:300px;object-position:50% 50%}.ip-field-main figcaption,.ip-photo-side figcaption{font-size:10px;margin-top:10px}.ip-photo-side{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:22px;align-items:center}.ip-photo-side>p{font-size:27px;line-height:1.15;margin:0;letter-spacing:-.04em}.ip-photo-side>p>em{white-space:normal}.ip-photo-side img{height:180px;object-position:50% 40%}.ip-editorial-intro{flex-direction:column;align-items:start;gap:20px;margin-top:25px}.ip-editorial-intro>p{font-size:17px;line-height:1.7}.ip-editorial-intro>.text-link{font-size:14px}.ip-work{padding-block:40px 45px}.ip-section-heading{gap:20px;margin-bottom:30px}.ip-chapter{font-size:11px}.ip-section-heading h2{font-size:36px;line-height:1.1}.ip-section-heading p{font-size:16px;margin-top:19px}.ip-use-cases{grid-template-columns:1fr;gap:35px}.ip-use-case{padding-top:19px}.ip-use-number{font-size:11px;margin-bottom:19px}.ip-use-case h3{font-size:31px;min-height:0;max-width:330px;line-height:1.17}.ip-use-case>p{font-size:16px;margin:18px 0 12px}.ip-use-case>.text-link{font-size:13px}.ip-use-detail{margin-top:17px}.ip-use-detail summary{font-size:12px}.ip-use-detail dd{font-size:14px}.ip-example-note{font-size:11px!important;line-height:1.6;margin-top:28px}.ip-evidence{padding-block:45px}.ip-evidence .ip-chapter{font-size:11px;margin-bottom:25px}.ip-evidence-main{grid-template-columns:1fr;gap:25px}.ip-evidence h2{font-size:48px}.ip-evidence-main>div>p{font-size:17px}.ip-evidence .text-link{font-size:14px;margin-top:20px}.ip-fit{padding-block:45px}.ip-fit>.ip-chapter{margin-bottom:23px}.ip-fit-main{grid-template-columns:1fr;gap:24px}.ip-fit h2{font-size:36px}.ip-fit-links{flex-direction:row;gap:10px 25px}.ip-fit-links .text-link{font-size:14px;gap:15px}.ip-close{padding-block:45px}.ip-close>.wrap{flex-direction:column;align-items:start;gap:30px}.ip-close .ip-chapter{margin-bottom:20px}.ip-close h2{font-size:38px}.ip-close-actions{gap:14px}.ip-next{padding-block:40px;gap:24px}.ip-next>div>a{font-size:26px;padding-block:18px}}
@media(max-width:360px){.ip-hero h1{font-size:48px}.ip-hero-art{min-height:310px}.ip-brand-photo{height:310px}.ip-hero-art figcaption{font-size:9px;max-width:80px}.ip-editorial-body>h2{font-size:33px}.ip-photo-side{gap:17px}.ip-photo-side>p{font-size:24px}.ip-photo-side img{height:165px}.ip-close h2{font-size:34px}}
html[data-access-scale] .ip-hero-layout,html[data-access-scale] .ip-editorial,html[data-access-scale] .ip-photo-spread,html[data-access-scale] .ip-section-heading,html[data-access-scale] .ip-use-cases,html[data-access-scale] .ip-evidence-main,html[data-access-scale] .ip-fit-main,html[data-access-scale] .ip-next{grid-template-columns:minmax(0,1fr)}
html[data-access-scale] .ip-hero h1{overflow-wrap:anywhere}
html[data-access-scale] .ip-use-cases,html[data-access-scale] .ip-example-note{margin-left:0}
html[data-access-scale] .ip-use-case h3{min-height:0}
html[data-access-scale] .ip-photo-side{display:block}
html[data-access-scale] .ip-photo-side>p{margin-bottom:25px}
html[data-access-scale] .ip-editorial-intro,html[data-access-scale] .ip-close>.wrap{flex-direction:column;align-items:start}
html[data-access-scale] .ip-industry-switch a{overflow-wrap:anywhere;min-width:0}
html[data-access-contrast=true] .ip-page{--ip-paper:var(--access-paper);--ip-ink:var(--access-ink);--ip-muted:var(--access-ink);--ip-soft:var(--access-paper);--ip-line:var(--access-ink);--ip-blue:var(--access-link)}
html[data-access-contrast=true] .ip-page :is(.ip-hero,.ip-evidence,.ip-close){background:var(--access-paper);color:var(--access-ink)}
html[data-access-contrast=true] .ip-page :is(.ip-hero h1,.ip-hero h1>span,.ip-hero-lead,.ip-eyebrow,.ip-hero-art figcaption,.ip-hero-foot,.ip-hero-foot>span,.ip-evidence h2>span,.ip-evidence .ip-chapter,.ip-evidence p,.ip-evidence .text-link,.ip-close .ip-chapter,.ip-close h2>span){color:var(--access-ink);background:none}
@media(prefers-reduced-motion:reduce){.ip-page *{animation:none!important;transition:none!important}}
@media(forced-colors:active){.ip-page{--ip-paper:Canvas;--ip-ink:CanvasText;--ip-muted:CanvasText;--ip-soft:Canvas;--ip-line:CanvasText;--ip-blue:LinkText}.ip-page :is(.ip-hero,.ip-evidence,.ip-close){background:Canvas;color:CanvasText}.ip-page :is(.ip-hero h1,.ip-hero h1>span,.ip-hero-lead,.ip-eyebrow,.ip-hero-art figcaption,.ip-hero-foot,.ip-hero-foot>span,.ip-evidence h2>span,.ip-evidence .ip-chapter,.ip-evidence p,.ip-evidence .text-link,.ip-close .ip-chapter,.ip-close h2>span){color:CanvasText;background:none}}

/* Refined composition: fewer labels, an opening photo aperture and visual applications. */
.ip-page{--ip-highlight:linear-gradient(110deg,#0059ff,#008fab 60%,#009f94)}
html[data-theme=dark] .ip-page{--ip-highlight:linear-gradient(110deg,#83b8ff,#00dfd1)}
.ip-hero{padding:140px 0 75px}.ip-hero:before{display:none}.ip-hero-layout{gap:60px;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
.ip-hero-art{height:590px;min-height:0;display:block;width:100%;max-width:none;overflow:hidden;border-radius:8px;position:relative}
.ip-brand-photo{width:100%;height:100%;object-fit:cover;object-position:var(--ip-photo-position);mask:none;-webkit-mask:none;display:block}
.ip-photo-curtain{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;display:block}
.ip-photo-curtain,.ip-photo-curtain *{stroke:none}
.ip-photo-curtain[hidden]{display:none}.ip-logo-aperture{transform-box:view-box;will-change:transform}
.ip-editorial{display:block;padding-block:85px 70px}.ip-editorial-body>h2{max-width:1100px}
.ip-editorial-body>h2>span,.ip-highlight,.ip-fit h2>span,.ip-use-outcome{background:var(--ip-highlight);background-clip:text;-webkit-background-clip:text;color:transparent}
.ip-photo-spread{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:40px;margin-top:42px}
.ip-field-main img{height:440px;border-radius:6px}.ip-photo-side img{height:260px;border-radius:6px}
.ip-photo-side>p{font-size:clamp(28px,3vw,44px);line-height:1.12;margin-bottom:30px}.ip-photo-side .ip-highlight{font:inherit}
.ip-editorial-intro{margin-top:35px}.ip-editorial-intro>p{max-width:750px;font-size:18px}
.ip-section-heading{grid-template-columns:1fr;gap:22px;margin-bottom:38px}.ip-section-heading>div{display:flex;align-items:end;justify-content:space-between;gap:50px}.ip-section-heading h2{font-size:clamp(40px,4vw,58px);flex:1}.ip-section-heading p{max-width:350px;font-size:17px;margin-top:0}
.ip-use-cases{margin-left:0;gap:28px;align-items:start}.ip-use-case{border:1px solid var(--ip-line);padding:0;border-radius:10px;overflow:hidden;background:var(--ip-paper)}
.ip-use-visual{display:block;position:relative;isolation:isolate;height:280px;background:#071829;color:#fff;overflow:hidden}
.ip-use-visual img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;position:absolute;inset:0;z-index:-2}
.ip-use-visual:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#07182935,transparent 20%,#071829aa 70%,#071829e6)}
.ip-use-visual .ip-use-number{position:absolute;top:23px;left:24px;color:#fff;margin:0;font-size:12px;text-shadow:0 1px 8px #071829}
.ip-use-visual h3{position:absolute;bottom:26px;left:24px;right:65px;font-size:clamp(25px,2.2vw,33px);line-height:1.1;min-height:0;max-width:290px;font-weight:350;letter-spacing:-.035em;color:#fff}
.ip-use-arrow{position:absolute;right:19px;bottom:25px;border:1px solid #ffffff80;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:#fff}
.ip-use-arrow svg{width:16px;height:16px}.ip-use-visual:is(:hover,:focus-visible) .ip-use-arrow{background:linear-gradient(115deg,#4b91ff,#00d9dc);border-color:transparent;color:#071120}
.ip-use-body{padding:25px 24px 19px}.ip-use-body>.ip-use-outcome{font-size:28px;line-height:1.2;letter-spacing:-.03em;font-weight:350}
.ip-use-detail{margin-top:25px}.ip-use-detail summary{font-size:13px}.ip-use-detail>p{font-size:15px;color:var(--ip-muted);margin-top:18px;line-height:1.7}.ip-use-detail dl{margin-top:22px}.ip-use-detail .text-link{font-size:13px;gap:15px;margin-top:18px;color:var(--ip-blue)}
.ip-example-note{margin-left:0;font-size:12px!important;max-width:750px}
.ip-page .visual-cta.tail-next{min-height:430px;padding-block:90px;background:#020f5a}
.ip-page .visual-cta-shade{background:linear-gradient(90deg,#020f5a,#081b3d)}
.ip-page .visual-cta-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:70px;align-items:center;position:relative;z-index:1}
.ip-page .visual-cta h2{font-size:clamp(42px,4.8vw,72px);line-height:1.1;letter-spacing:-.045em;max-width:790px;color:#fff}
.ip-page .visual-cta .closing-gradient{background:linear-gradient(110deg,#71adff,#00dcda);background-clip:text;-webkit-background-clip:text;color:transparent}
.ip-page .visual-cta .button{justify-self:end;white-space:nowrap}.ip-page .visual-cta:after{display:none}
@media(max-width:1100px){.ip-hero{padding:130px 0 60px}.ip-hero-layout{gap:35px}.ip-hero-art{height:530px}.ip-photo-spread{gap:30px}.ip-field-main img{height:370px}.ip-photo-side img{height:210px}.ip-use-cases{gap:20px}.ip-use-visual{height:250px}.ip-use-visual h3{left:20px;font-size:26px}.ip-use-body{padding:23px 20px 17px}.ip-use-body>.ip-use-outcome{font-size:25px}.ip-page .visual-cta-copy{gap:35px}.ip-page .visual-cta h2{font-size:52px}.ip-page .visual-cta .button{font-size:13px;padding-inline:22px}}
@media(max-width:850px){.ip-hero-layout{grid-template-columns:1fr .85fr;gap:30px}.ip-hero-art{height:480px}.ip-editorial{padding-block:60px}.ip-field-main img{height:330px}.ip-photo-side img{height:190px}.ip-section-heading>div{gap:35px}.ip-section-heading h2{font-size:42px}.ip-section-heading p{max-width:260px;font-size:16px}.ip-use-cases{grid-template-columns:1fr;gap:25px}.ip-use-case{display:grid;grid-template-columns:1fr 1fr}.ip-use-visual{height:100%;min-height:275px}.ip-use-body{padding:28px}.ip-use-body>.ip-use-outcome{font-size:29px}.ip-use-visual h3{font-size:32px;bottom:28px}.ip-page .visual-cta-copy{grid-template-columns:1fr;gap:35px}.ip-page .visual-cta .button{justify-self:start}.ip-page .visual-cta.tail-next{min-height:390px;padding-block:65px}}
@media(max-width:600px){.ip-hero{padding:110px 0 35px}.ip-hero-layout{grid-template-columns:1fr;gap:35px}.ip-hero-art{height:370px;max-width:450px}.ip-editorial{padding-block:45px}.ip-editorial-body>h2{font-size:37px}.ip-photo-spread{grid-template-columns:1fr;gap:25px;margin-top:30px}.ip-field-main img{height:300px}.ip-photo-side{display:grid;grid-template-columns:1fr .9fr;gap:22px;align-items:center}.ip-photo-side>p{font-size:29px;margin:0}.ip-photo-side img{height:185px}.ip-editorial-intro>p{font-size:17px}.ip-section-heading>div{display:block}.ip-section-heading h2{font-size:37px}.ip-section-heading p{margin-top:22px;max-width:350px;font-size:17px}.ip-use-case{display:block}.ip-use-visual{height:260px;min-height:0}.ip-use-visual h3{font-size:32px}.ip-use-body{padding:26px 24px 19px}.ip-use-body>.ip-use-outcome{font-size:29px}.ip-use-cases{gap:28px}.ip-page .visual-cta.tail-next{padding-block:60px;min-height:360px}.ip-page .visual-cta h2{font-size:41px}.ip-page .visual-cta-copy{gap:32px}.ip-page .visual-cta .button{font-size:13px;white-space:normal;gap:22px;min-height:52px}}
@media(max-width:360px){.ip-hero-art{height:320px}.ip-editorial-body>h2{font-size:33px}.ip-photo-side>p{font-size:25px}.ip-photo-side img{height:165px}.ip-use-visual h3{font-size:29px}.ip-use-visual{height:235px}.ip-page .visual-cta h2{font-size:35px}}
html[data-access-scale] .ip-use-case,html[data-access-scale] .ip-page .visual-cta-copy{display:block}html[data-access-scale] .ip-hero-art{height:420px}html[data-access-scale] .ip-section-heading>div{display:block}html[data-access-scale] .ip-section-heading p{margin-top:25px;max-width:650px}html[data-access-scale] .ip-use-visual{min-height:330px}html[data-access-scale] .ip-use-visual h3{font-size:38px}html[data-access-scale] .ip-page .visual-cta .button{margin-top:35px}
html[data-access-contrast=true] .ip-page :is(.ip-highlight,.ip-use-outcome,.ip-editorial-body>h2>span,.ip-fit h2>span){color:var(--access-ink);background:none}html[data-access-contrast=true] .ip-photo-curtain{display:none}
html[data-access-motion=true] .ip-photo-curtain{display:none}
@media(prefers-reduced-motion:reduce){.ip-photo-curtain{display:none}}
@media(forced-colors:active){.ip-photo-curtain{display:none}.ip-page :is(.ip-highlight,.ip-use-outcome,.ip-editorial-body>h2>span,.ip-fit h2>span){background:none;color:CanvasText}}

/* Full-hero photograph: the original Calab mark opens onto the entire canvas. */
.ip-page .ip-hero{padding:160px 0 100px;min-height:760px;display:flex;align-items:center;overflow:hidden}
.ip-hero-layout.wrap{display:block;position:static;width:min(1440px,calc(100% - 96px))}
.ip-hero-copy{position:relative;z-index:3;max-width:1050px;padding:0}
.ip-hero h1{font-size:clamp(68px,6.9vw,108px);line-height:1.04;letter-spacing:-.055em}
.ip-hero h1>span{display:table;width:fit-content;max-width:100%;background:linear-gradient(105deg,#0088ff,#00e3ce);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.ip-hero .ip-hero-lead{color:#e0eaf1;max-width:530px;font-size:19px;line-height:1.6;margin-top:30px}
.ip-hero .ip-hero-art{position:absolute;inset:0;height:100%;width:100%;max-width:none;border-radius:0;z-index:0}
.ip-hero-art:after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#041321e8 0%,#041321c9 35%,#04132145 75%,#04132135),linear-gradient(0deg,#04132165,transparent 55%);pointer-events:none}
.ip-hero .ip-brand-photo{height:100%;width:100%;object-position:var(--ip-photo-position);filter:saturate(.7)}
.ip-hero .ip-photo-curtain{z-index:2}
.ip-hero .ip-explore{margin-top:32px}
.ip-context-brief{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(230px,.65fr);gap:90px;align-items:center;margin-top:30px}
.ip-context-brief>p{font-size:20px;line-height:1.65;max-width:800px;color:var(--ip-muted)}
.ip-context-brief ul{padding:0;list-style:none;margin:0;display:grid;gap:15px}
.ip-context-brief li{font-size:15px;line-height:1.5;display:flex;gap:14px;align-items:center}
.ip-context-brief li:before{content:'';width:5px;height:5px;border-radius:50%;background:#00adae;flex:none}
.ip-context-source{display:inline-flex;gap:12px;font-size:12px;line-height:1.6;color:var(--ip-muted);padding-block:12px;margin-top:13px;text-decoration:underline;text-underline-offset:4px}
.ip-context-source:hover{color:var(--ip-blue)}
.ip-proof{background:#081b30;color:#fff;padding:75px 0}
.ip-proof-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:28px 100px;align-items:center}
.ip-proof-label{font-size:12px;line-height:1.6;color:#b6cddd;display:block;margin-bottom:25px}
.ip-proof h2{font-size:clamp(36px,3.6vw,54px);line-height:1.12;max-width:720px}
.ip-proof h2>span{background:linear-gradient(105deg,#0088ff,#00e3ce);background-clip:text;-webkit-background-clip:text;color:transparent}
.ip-proof .ip-proof-copy{color:#c5d5e0;font-size:17px;line-height:1.7;max-width:640px;margin-top:25px}
.ip-proof .text-link{color:#fff;margin-top:25px}
.ip-proof .text-link:hover{color:#00ded4}
.ip-proof-result{padding:12px 0 12px 55px;border-left:1px solid #ffffff30}
.ip-proof-result strong{display:block;font-size:clamp(44px,4.4vw,68px);line-height:1.12;letter-spacing:-.05em;font-weight:350;color:#fff}
.ip-proof-result strong>span{color:#00d9dc}
.ip-proof-result>span{display:block;font-size:16px;line-height:1.5;color:#fff;margin-top:17px}
.ip-proof-result p{color:#b6cddd;font-size:14px;line-height:1.7;max-width:300px;margin-top:15px}
.ip-proof-note{grid-column:1/-1;font-size:12px!important;line-height:1.6;color:#a6bdce;margin-top:8px}
.ip-proof-references{border:1px solid #ffffff25;border-radius:8px;background:#122c5f;padding:30px 30px 25px;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}
.ip-proof-references img{object-fit:contain;width:100%;height:85px}
.ip-proof-references p{font-size:12px;line-height:1.6;color:#c5d5e0;grid-column:1/-1}
.ip-proof-transfer{border-left:1px solid #ffffff30;padding-left:55px}
.ip-proof-transfer>span{font-size:12px;color:#a6bdce;line-height:1.5}
.ip-proof-transfer h3{font-size:clamp(28px,3vw,42px);line-height:1.2;font-weight:350;letter-spacing:-.035em;margin-top:20px;color:#fff}
.ip-proof-transfer p{font-size:13px;line-height:1.7;color:#a6bdce;max-width:350px;margin-top:22px}
.ip-use-cases{align-items:stretch}
.ip-use-body>.ip-use-outcome{width:fit-content;max-width:100%}
.ip-use-context{margin-top:24px}
.ip-use-context h4{font-size:12px;line-height:1.5;font-weight:500;color:var(--ip-ink);margin:22px 0 9px}
.ip-use-context p{font-size:15px;line-height:1.7;color:var(--ip-muted)}
.ip-use-detail{border-top:1px solid var(--ip-line);padding-top:16px;margin-top:22px}
.ip-use-detail dl{margin-top:5px}
/* Keep the fade inside the CTA. Its last pixel matches the footer. */
.ip-page .visual-cta.tail-next{position:relative;padding-bottom:115px;margin-bottom:0;isolation:isolate}
.ip-page .visual-cta .section-fade-out{position:absolute;inset:auto 0 0;height:95px;margin:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,transparent,#121212)}
.ip-page .visual-cta-shade{z-index:-1}
.ip-page .visual-cta-copy{z-index:1}
@media(min-width:1700px){.ip-page .ip-hero{min-height:850px}}
@media(max-width:1100px){.ip-page .ip-hero{min-height:720px;padding-top:145px}.ip-hero-layout.wrap{width:calc(100% - 64px)}.ip-hero h1{font-size:clamp(65px,8vw,90px)}.ip-context-brief{gap:45px}.ip-proof-grid{gap:25px 45px}.ip-proof-result,.ip-proof-transfer{padding-left:30px}.ip-proof-result strong{font-size:48px}.ip-use-cases{align-items:stretch}}
@media(max-width:850px){.ip-context-brief{grid-template-columns:1fr;gap:25px}.ip-context-brief ul{display:flex;gap:20px;flex-wrap:wrap}.ip-context-brief>p{font-size:19px}.ip-proof{padding-block:60px}.ip-proof-grid{gap:30px}.ip-proof-result strong{font-size:44px}.ip-proof-references{padding:24px;gap:20px}.ip-proof-references img{height:65px}.ip-page .visual-cta.tail-next{padding-bottom:100px}.ip-page .visual-cta .section-fade-out{height:75px}}
@media(max-width:600px){.ip-page .ip-hero{min-height:690px;padding:145px 0 85px;align-items:center}.ip-page .ip-hero-layout.wrap{width:calc(100% - 40px)}.ip-hero-copy{max-width:100%}.ip-hero h1{font-size:clamp(43px,11vw,65px);line-height:1.1;letter-spacing:-.055em}.ip-hero h1>span{max-width:330px}.ip-hero .ip-hero-lead{font-size:17px;line-height:1.65;max-width:360px;margin-top:25px}.ip-hero-art:after{background:linear-gradient(90deg,#041321da,#04132185),linear-gradient(0deg,#041321aa,transparent 80%)}.ip-context-brief{margin-top:24px;gap:22px}.ip-context-brief>p{font-size:18px}.ip-context-brief ul{display:grid;gap:11px}.ip-context-brief li{font-size:14px}.ip-context-source{font-size:11px}.ip-photo-spread{margin-top:28px}.ip-proof{padding-block:45px}.ip-proof-grid{grid-template-columns:1fr;gap:32px}.ip-proof-label{margin-bottom:20px;font-size:11px}.ip-proof h2{font-size:36px}.ip-proof .ip-proof-copy{font-size:17px;margin-top:22px}.ip-proof-result,.ip-proof-transfer{padding:25px 0 0;border-left:0;border-top:1px solid #ffffff30}.ip-proof-result strong{font-size:51px}.ip-proof-result p{max-width:100%}.ip-proof-note{margin-top:0;font-size:11px!important}.ip-proof-references{padding:28px;gap:25px}.ip-proof-references img{height:75px}.ip-proof-transfer h3{font-size:34px}.ip-use-context p{font-size:16px}.ip-page .visual-cta.tail-next{padding-bottom:100px}.ip-page .visual-cta .section-fade-out{height:65px}}
@media(max-width:360px){.ip-page .ip-hero{min-height:670px}.ip-hero h1{font-size:42px}.ip-proof h2{font-size:32px}.ip-proof-result strong{font-size:43px}.ip-proof-references{padding:22px;gap:18px}.ip-proof-references img{height:65px}}
html[data-access-scale] .ip-hero h1{font-size:clamp(42px,6vw,80px);overflow-wrap:anywhere}
html[data-access-scale] .ip-page .ip-hero{min-height:760px;height:auto}
html[data-access-scale] .ip-context-brief,html[data-access-scale] .ip-proof-grid{grid-template-columns:1fr}
html[data-access-scale] .ip-proof-result,html[data-access-scale] .ip-proof-transfer{padding:25px 0 0;border-left:0;border-top:1px solid #ffffff30}
html[data-access-contrast=true] .ip-hero-art:after{background:var(--access-paper);opacity:.95}
html[data-access-contrast=true] .ip-page :is(.ip-hero h1>span,.ip-proof h2>span){background:none;color:var(--access-ink);-webkit-text-fill-color:var(--access-ink)}
html[data-access-contrast=true] .ip-proof{background:var(--access-paper);color:var(--access-ink)}
html[data-access-contrast=true] .ip-proof :is(h2,h3,p,a,strong,span){color:var(--access-ink)}
@media(forced-colors:active){.ip-hero-art{display:none!important}.ip-hero h1>span,.ip-proof h2>span{background:none;color:CanvasText;-webkit-text-fill-color:CanvasText}.ip-proof{background:Canvas;color:CanvasText}.ip-proof :is(h2,h3,p,a,strong,span){color:CanvasText}.ip-context-brief li:before{background:CanvasText}.ip-page .section-fade-out{display:none}}

.ip-case-detail{max-width:650px;margin-top:26px;border-top:1px solid #ffffff35}
.ip-case-detail summary{display:flex;justify-content:space-between;align-items:center;gap:20px;list-style:none;font-size:15px;line-height:1.5;padding:19px 0;cursor:pointer;color:#fff}
.ip-case-detail summary::-webkit-details-marker{display:none}
.ip-case-detail summary>span{font-size:22px;transition:transform .3s}
.ip-case-detail[open] summary>span{transform:rotate(45deg)}
.ip-page .ip-case-detail p{font-size:16px;line-height:1.75;color:#c5d5e0;padding-bottom:10px}
.ip-case-detail summary:is(:hover,:focus-visible){color:#00d9dc}

/* Sources, permissions and responsibility: an explorable foundation. */
.ip-foundation{padding:95px 0;background:radial-gradient(ellipse at 95% 90%,#00d9dc0c,transparent 50%),var(--ip-soft)}
.ip-foundation-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:85px;align-items:center}
.ip-foundation-intro h2{font-size:clamp(40px,4.3vw,64px);line-height:1.08}
.ip-foundation-intro h2>span,.ip-foundation-content h3>span{background:var(--ip-highlight);background-clip:text;-webkit-background-clip:text;color:transparent}
.ip-foundation-intro>p{font-size:19px;line-height:1.7;color:var(--ip-muted);max-width:410px;margin-top:28px}
.ip-foundation-links{display:flex;flex-direction:column;align-items:start;gap:10px;margin-top:30px}
.ip-foundation-panel{min-width:0;border:1px solid var(--ip-line);border-radius:12px;background:var(--ip-paper);position:relative;overflow:hidden}
.ip-foundation-panel:before{content:'';height:2px;position:absolute;inset:0 0 auto;background:linear-gradient(90deg,#0059ff,#00d9dc);transform-origin:left;z-index:1}
.ip-foundation-brand{padding:25px 30px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--ip-line)}
.ip-foundation-brand img{width:135px;height:49px;object-fit:contain}
.ip-foundation-logo-dark{display:none}
html[data-theme=dark] .ip-foundation-brand .ip-foundation-logo-light{display:none}
html[data-theme=dark] .ip-foundation-brand .ip-foundation-logo-dark{display:block}
.ip-foundation-brand>span{font-size:11px;line-height:1.5;color:var(--ip-muted);max-width:130px;text-align:right}
.ip-foundation-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));position:relative;border-bottom:1px solid var(--ip-line)}
.ip-foundation-tabs button{position:relative;min-height:66px;display:flex;align-items:center;justify-content:center;gap:10px;background:none;color:var(--ip-muted);border:0;padding:18px 12px;font-size:14px;line-height:1.5;cursor:pointer}
.ip-foundation-tabs button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.ip-foundation-tabs button[aria-selected=true]{color:var(--ip-blue)}
.ip-foundation-tabs button:is(:hover,:focus-visible){background:#0059ff09;color:var(--ip-blue)}
.ip-foundation-tabs button:focus-visible{outline:2px solid #0059ff;outline-offset:-5px}
.ip-foundation-indicator{position:absolute;bottom:-1px;left:0;height:2px;width:33.333%;background:linear-gradient(90deg,#0059ff,#00d9dc);transform:translateX(calc(var(--foundation-tab,0)*100%));transition:transform .65s cubic-bezier(.16,1,.3,1);z-index:1}
.ip-foundation-content{position:relative;padding:35px 35px 32px;min-height:345px;isolation:isolate}
.ip-foundation-content[hidden]{display:none}
.ip-foundation-content:focus-visible{outline:2px solid #0059ff;outline-offset:-5px}
.ip-foundation-number{position:absolute;right:25px;top:17px;font-size:112px;line-height:1;letter-spacing:-.075em;color:var(--ip-ink);opacity:.05;z-index:-1;font-weight:350;pointer-events:none}
.ip-foundation-content h3{font-weight:350;font-size:clamp(28px,2.6vw,38px);line-height:1.2;letter-spacing:-.04em;padding-right:5px;max-width:490px;color:var(--ip-ink)}
.ip-foundation-content>p{font-size:16px;line-height:1.75;color:var(--ip-muted);max-width:530px;margin-top:22px}
.ip-foundation-content ul{padding:22px 0 0;margin:23px 0 0;border-top:1px solid var(--ip-line);list-style:none;display:flex;flex-wrap:wrap;gap:12px 25px}
.ip-foundation-content li{display:flex;align-items:baseline;gap:9px;font-size:12px;line-height:1.7;color:var(--ip-muted)}
.ip-foundation-content li:before{content:'\2713';color:#009f94}
html[data-theme=dark] .ip-foundation-tabs button[aria-selected=true]{color:#008cff}

/* One-time entrances and slow hover movement; no automatic content cycling. */
.ip-motion-ready [data-ip-reveal]{transition:opacity .95s cubic-bezier(.16,1,.3,1),transform 1.15s cubic-bezier(.16,1,.3,1),clip-path 1.15s cubic-bezier(.16,1,.3,1);transition-delay:var(--ip-delay,0ms)}
.ip-motion-ready [data-ip-reveal]:not(.is-ip-visible){opacity:0;transform:translateY(24px)}
.ip-motion-ready figure[data-ip-reveal]:not(.is-ip-visible){clip-path:inset(5% 0 5% 0 round 6px)}
.ip-motion-ready .ip-foundation-panel:before{transition:transform 1.4s cubic-bezier(.16,1,.3,1) .15s}
.ip-motion-ready .ip-foundation-panel:not(.is-ip-visible):before{transform:scaleX(0)}
@media(hover:hover) and (pointer:fine){.ip-use-visual img{transition:transform 1.1s cubic-bezier(.16,1,.3,1)}.ip-use-visual:is(:hover,:focus-visible) img{transform:scale(1.035)}.ip-use-arrow{transition:background .3s,transform .5s cubic-bezier(.16,1,.3,1)}.ip-use-visual:hover .ip-use-arrow{transform:translate(2px,-2px)}}
@media(max-width:1100px){.ip-foundation-grid{gap:45px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.ip-foundation-content{padding-inline:28px;min-height:370px}.ip-foundation-brand{padding-inline:25px}}
@media(max-width:850px){.ip-foundation{padding-block:65px}.ip-foundation-grid{grid-template-columns:1fr;gap:35px}.ip-foundation-intro>p{max-width:540px}.ip-foundation-links{flex-direction:row;flex-wrap:wrap;gap:12px 30px;margin-top:25px}.ip-foundation-content{min-height:315px}.ip-foundation-intro h2{font-size:48px}}
@media(max-width:600px){.ip-foundation{padding-block:50px}.ip-foundation-intro h2{font-size:39px}.ip-foundation-intro>p{font-size:18px;margin-top:23px}.ip-foundation-links{flex-direction:column;gap:8px}.ip-foundation-brand{padding:20px}.ip-foundation-brand img{width:115px;height:42px}.ip-foundation-brand>span{font-size:10px;max-width:100px}.ip-foundation-tabs button{font-size:12px;gap:7px;padding:17px 7px;min-height:62px}.ip-foundation-tabs button svg{width:18px;height:18px}.ip-foundation-content{padding:28px 23px;min-height:365px}.ip-foundation-content h3{font-size:30px}.ip-foundation-content ul{display:grid;gap:10px}.ip-foundation-content>p{font-size:16px}.ip-foundation-number{right:20px;font-size:90px}.ip-case-detail summary{font-size:14px}}
html[data-access-scale] .ip-foundation-grid{grid-template-columns:1fr}
html[data-access-scale] .ip-foundation-tabs button{flex-direction:column;font-size:14px;min-width:0;overflow-wrap:anywhere}
html[data-access-scale] .ip-foundation-brand{flex-wrap:wrap}
html[data-access-scale] .ip-foundation-content{min-height:0}
html[data-access-motion=true] .ip-page [data-ip-reveal]{opacity:1;transform:none;clip-path:none;transition:none}
html[data-access-motion=true] .ip-page .ip-use-visual img{transform:none;transition:none}
html[data-access-motion=true] .ip-foundation-indicator{transition:none}
html[data-access-contrast=true] .ip-foundation{background:var(--access-paper)}
html[data-access-contrast=true] .ip-foundation :is(h2>span,h3>span){background:none;color:var(--access-ink)}
@media(prefers-reduced-motion:reduce){.ip-page [data-ip-reveal]{opacity:1!important;transform:none!important;clip-path:none!important}.ip-page .ip-use-visual img{transform:none!important}}
@media(forced-colors:active){.ip-foundation{background:Canvas}.ip-foundation-panel:before,.ip-foundation-indicator{background:Highlight}.ip-foundation :is(h2>span,h3>span){background:none;color:CanvasText}.ip-foundation-tabs button[aria-selected=true]{color:Highlight}.ip-foundation-brand img{filter:none}.ip-case-detail summary{color:LinkText}}

/* A single photo frame opens into the hero; no enlarging logo mask. */
.ip-hero .ip-hero-art:is([data-reveal-state=ready],[data-reveal-state=playing]){will-change:clip-path,opacity}

/* Value reads as an outcome story, with the evidence directly beneath it. */
.ip-proof.ip-value{background:var(--ip-paper);padding:35px 0 85px;color:var(--ip-ink)}
.ip-value-card{position:relative;overflow:hidden;border-radius:18px;background:radial-gradient(ellipse at 98% 8%,#0088b825,transparent 60%),#081b30;color:#fff;padding:35px 45px 30px}
.ip-value-meta{display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid #ffffff26;padding-bottom:25px;color:#bad0df;font-size:12px;line-height:1.6}
.ip-value-meta>span:first-child{color:#fff}
.ip-value-meta>span:last-child{display:flex;align-items:center;gap:10px}
.ip-value-meta>span:last-child:before{content:'';height:5px;width:5px;border-radius:50%;background:#00d9dc;flex:none}
.ip-value-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px;align-items:center;padding:48px 0 40px}
.ip-value-main h2{font-size:clamp(36px,3.5vw,54px);line-height:1.12;letter-spacing:-.05em;max-width:620px}
.ip-value .ip-value-copy{font-size:17px;line-height:1.75;color:#c0d2df;margin-top:25px;max-width:570px}
.ip-value-visual{min-width:0;position:relative;padding:10px 0 10px 20px}
.ip-value-comparison{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:28px;align-items:end;position:relative}
.ip-value-comparison>div>span{display:block;color:#a9c2d3;font-size:12px;line-height:1.6;margin-bottom:18px}
.ip-value-comparison strong{display:table;width:fit-content;max-width:100%;font-size:clamp(45px,4.3vw,68px);line-height:1.1;font-weight:350;letter-spacing:-.055em}
.ip-value-comparison>div:first-child strong{color:#b0c1cd;position:relative;font-size:clamp(36px,3.5vw,53px)}
.ip-value-comparison>div:first-child strong:after{content:'';position:absolute;inset:55% -3px auto;height:1px;background:#b0c1cd90;transform:rotate(-5deg)}
.ip-value-comparison>div:last-child strong{background:linear-gradient(110deg,#0088ff,#00e3ce);background-clip:text;-webkit-background-clip:text;color:transparent}
.ip-value-comparison>svg{position:absolute;top:51%;left:36%;width:34px;height:24px;stroke:#00d9dc;stroke-width:1.2;fill:none}
.ip-value .ip-value-measure{font-size:13px;line-height:1.6;color:#a9c2d3;margin-top:25px;padding-top:20px;border-top:1px solid #ffffff26}
.ip-value-roi{display:flex;align-items:center;gap:25px}
.ip-value-roi strong{font-size:clamp(105px,11vw,165px);line-height:.95;letter-spacing:-.09em;font-weight:350;color:#fff}
.ip-value-roi strong>span{color:#00d9dc;font-size:.72em;letter-spacing:-.04em}
.ip-value .ip-value-roi>p{font-size:17px;line-height:1.6;color:#d2e2ec}
.ip-value-principles{display:grid;gap:0}
.ip-value-principles>div{display:flex;align-items:center;gap:22px;padding:17px 0;border-bottom:1px solid #ffffff26}
.ip-value-principles>div:first-child{padding-top:0}
.ip-value-principles>div>span{font-size:11px;color:#00d9dc;line-height:1.6}
.ip-value-principles strong{font-size:clamp(24px,2.4vw,35px);line-height:1.25;letter-spacing:-.035em;font-weight:350}
.ip-value-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #ffffff20;border-radius:8px;background:#ffffff04}
.ip-value-steps>div{padding:26px 27px;min-width:0}
.ip-value-steps>div+div{border-left:1px solid #ffffff20}
.ip-value-steps>div>span{font-size:11px;line-height:1.6;color:#9dbbce}
.ip-value-steps h3{font-size:clamp(22px,2vw,29px);line-height:1.2;font-weight:350;letter-spacing:-.035em;margin-top:17px;color:#fff}
.ip-value .ip-value-steps p{font-size:14px;line-height:1.75;color:#b6ccdc;margin-top:14px;max-width:360px}
.ip-value-footer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:65px;align-items:start;padding-top:25px}
.ip-value-footer .ip-case-detail{margin:0;border:0}
.ip-value-footer .ip-case-detail summary{padding:4px 0 12px;font-size:14px}
.ip-value-footer .text-link{margin-top:0;min-height:35px;font-size:14px}
.ip-value .ip-value-note{font-size:12px;line-height:1.75;color:#9db7c9;margin:0;text-align:right}
@media(max-width:1100px){.ip-value-card{padding:30px}.ip-value-main{gap:40px}.ip-value-comparison{gap:20px}.ip-value-comparison strong{font-size:49px}.ip-value-comparison>div:first-child strong{font-size:38px}.ip-value-comparison>svg{width:25px;left:35%}.ip-value-roi{gap:20px}.ip-value-roi strong{font-size:120px}.ip-value .ip-value-roi>p{font-size:15px}.ip-value-steps>div{padding:23px}.ip-value-footer{gap:40px}}
@media(max-width:850px){.ip-proof.ip-value{padding:15px 0 60px}.ip-value-main{grid-template-columns:1fr;gap:35px;padding-top:35px}.ip-value-main h2{font-size:44px}.ip-value .ip-value-copy{max-width:620px}.ip-value-visual{padding:5px 0 0;max-width:620px;width:100%}.ip-value-comparison{max-width:520px}.ip-value-comparison strong{font-size:67px}.ip-value-comparison>div:first-child strong{font-size:50px}.ip-value-comparison>svg{left:35%;width:40px}.ip-value-steps>div{padding:22px 18px}.ip-value-steps h3{font-size:24px}.ip-value-footer{gap:30px}}
@media(max-width:600px){.ip-proof.ip-value{padding:5px 0 45px}.ip-value-card{padding:25px 22px 24px;border-radius:12px}.ip-value-meta{align-items:start;flex-direction:column;gap:8px;padding-bottom:22px;font-size:11px}.ip-value-main{padding:28px 0;gap:32px}.ip-value-main h2{font-size:35px}.ip-value .ip-value-copy{font-size:16px;margin-top:22px}.ip-value-comparison{gap:20px}.ip-value-comparison strong{font-size:clamp(42px,12vw,64px)}.ip-value-comparison>div:first-child strong{font-size:clamp(32px,9vw,46px)}.ip-value-comparison>div>span{font-size:11px;margin-bottom:14px}.ip-value-comparison>svg{width:25px;left:35%;top:49%}.ip-value .ip-value-measure{font-size:12px;margin-top:20px;padding-top:17px}.ip-value-roi strong{font-size:118px}.ip-value .ip-value-roi>p{font-size:15px}.ip-value-principles strong{font-size:26px}.ip-value-steps{grid-template-columns:1fr}.ip-value-steps>div{padding:23px}.ip-value-steps>div+div{border-left:0;border-top:1px solid #ffffff20}.ip-value-steps h3{font-size:27px;margin-top:12px}.ip-value .ip-value-steps p{font-size:15px;margin-top:12px}.ip-value-footer{grid-template-columns:1fr;gap:15px;padding-top:24px}.ip-value .ip-value-note{text-align:left;font-size:11px}}
@media(max-width:360px){.ip-value-card{padding-inline:20px}.ip-value-main h2{font-size:31px}.ip-value-comparison strong{font-size:38px}.ip-value-comparison>div:first-child strong{font-size:30px}.ip-value-comparison>svg{width:20px;left:34%}.ip-value-roi strong{font-size:100px}.ip-value-roi{gap:16px}.ip-value .ip-value-roi>p{font-size:14px}.ip-value-principles strong{font-size:24px}}
@media(max-width:600px){.ip-value-steps>div{padding:20px}.ip-value-steps h3{font-size:24px}.ip-value .ip-value-steps p{font-size:14px;line-height:1.65}}
html[data-access-scale] .ip-value-main,html[data-access-scale] .ip-value-steps,html[data-access-scale] .ip-value-footer{grid-template-columns:1fr}
html[data-access-scale] .ip-value-comparison{grid-template-columns:1fr}
html[data-access-scale] .ip-value-comparison>svg{display:none}
html[data-access-scale] .ip-value-roi{flex-wrap:wrap}
html[data-access-scale] .ip-value-note{text-align:left}
html[data-access-scale] .ip-value-steps>div+div{border-left:0;border-top:1px solid #ffffff20}
html[data-access-contrast=true] .ip-value-card{background:var(--access-paper);border:1px solid var(--access-ink);color:var(--access-ink)}
html[data-access-contrast=true] .ip-value-comparison strong{background:none;color:var(--access-ink)}
@media(forced-colors:active){.ip-value-card{background:Canvas;border:1px solid CanvasText;color:CanvasText}.ip-value-comparison strong{background:none;color:CanvasText}.ip-value :is(h2,h3,p,span,strong){color:CanvasText}.ip-value-comparison svg{stroke:CanvasText}}

/* Editorial industry opening: stable photograph, open typography, no aperture. */
.ip-editorial-nav:not(.is-scrolled){color:#12243a}
.ip-editorial-nav:not(.is-scrolled) .brand-white{display:none}
.ip-editorial-nav:not(.is-scrolled) .brand-dark{display:block}
.ip-editorial-nav:not(.is-scrolled) .nav-contact{background:#121212;color:#fff;border-color:#121212}
.ip-editorial-nav:not(.is-scrolled) .nav-mobile{border-color:#12243a40}
html[data-theme=dark] .ip-editorial-nav:not(.is-scrolled){color:#f1f6fc}
html[data-theme=dark] .ip-editorial-nav:not(.is-scrolled) .brand-white{display:block}
html[data-theme=dark] .ip-editorial-nav:not(.is-scrolled) .brand-dark{display:none}
html[data-theme=dark] .ip-editorial-nav:not(.is-scrolled) .nav-contact{background:#f1f6fc;color:#12243a;border-color:#f1f6fc}
html[data-theme=dark] .ip-editorial-nav:not(.is-scrolled) .nav-mobile{border-color:#f1f6fc60}
html[data-theme=dark] .ip-page{--ip-blue:#008cff}
.ip-page .ip-hero.ip-hero-editorial{background:var(--ip-paper);color:var(--ip-ink);padding:155px 0 40px;min-height:0;display:block;overflow:visible}
.ip-hero-editorial .ip-hero-sector{font-size:13px;line-height:1.6;color:var(--ip-blue);margin-bottom:26px}
.ip-hero-heading{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,.75fr);gap:65px;align-items:end}
.ip-hero-editorial h1{font-size:clamp(55px,5.9vw,93px);line-height:1.05;letter-spacing:-.055em;color:var(--ip-ink);font-weight:350;max-width:1050px}
.ip-hero-editorial h1>span{display:inline;background:var(--ip-highlight);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;max-width:none;padding-bottom:0}
.ip-hero-editorial .ip-hero-lead{font-size:18px;line-height:1.65;color:var(--ip-muted);margin:0;max-width:400px}
.ip-hero-editorial .ip-explore{margin-top:23px;color:var(--ip-ink);font-size:14px;gap:20px}
.ip-hero-editorial .ip-explore:hover{color:var(--ip-blue)}
.ip-hero-editorial .ip-explore svg{transition:transform .35s ease}
.ip-hero-editorial .ip-explore:is(:hover,:focus-visible) svg{transform:rotate(135deg)}
.ip-hero-panorama{margin:42px 0 0;position:relative;overflow:hidden;height:350px;border-radius:14px;background:var(--ip-soft)}
.ip-hero-editorial .ip-brand-photo{position:static;inset:auto;display:block;width:100%;height:100%;object-fit:cover;object-position:var(--ip-photo-position);filter:saturate(.82);transform:none!important;clip-path:none!important}
.ip-context-brief{display:block;margin-top:28px}
.ip-context-brief>p{max-width:940px;font-size:20px}
.ip-context-brief ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin:38px 0 0;padding:0}
.ip-context-brief li{display:block;padding:25px 0 8px;border-top:1px solid var(--ip-line);position:relative}
.ip-context-brief li:before{display:none}
.ip-context-brief li>svg{width:28px;height:28px;fill:none;stroke:var(--ip-blue);stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;margin-bottom:23px}
.ip-context-brief li h3{font-size:25px;line-height:1.2;letter-spacing:-.035em;font-weight:350;color:var(--ip-ink);max-width:290px}
.ip-context-brief li p{font-size:15px;line-height:1.7;color:var(--ip-muted);margin-top:16px;max-width:350px}
.ip-value-card{padding-top:10px}
.ip-value-main{padding-top:35px}
.ip-value-detail{border-top:0;margin-top:21px}
.ip-value-detail summary{font-size:14px}
.ip-value-action{padding-top:23px}
.ip-value-action .text-link{margin:0;font-size:14px}
.ip-use-context{margin-top:0}
.ip-use-context h4:first-child{margin-top:0}
.ip-use-context h4{font-size:12px;color:var(--ip-ink);margin-top:23px}
.ip-use-explained{margin:25px 0 0;padding-top:22px;border-top:1px solid var(--ip-line);display:grid;gap:18px}
.ip-use-explained dt{font-size:11px;line-height:1.6;color:var(--ip-blue);margin-bottom:7px}
.ip-use-explained dd{font-size:14px;line-height:1.65;color:var(--ip-muted);margin:0}
.ip-use-link.text-link{font-size:13px;margin-top:22px;gap:15px}

/* The Azure foundation becomes one interactive, visually connected composition. */
.ip-foundation{background:var(--ip-paper);padding:25px 0 85px}
.ip-foundation-console{background:radial-gradient(ellipse at 90% 0,#0059ff19,transparent 58%),#081b30;border-radius:18px;padding:48px 45px;color:#f2f7fc}
.ip-foundation-console-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;padding-bottom:40px}
.ip-foundation-console h2{font-size:clamp(38px,4vw,60px);line-height:1.08;color:#f2f7fc}
.ip-foundation-console :is(h2,h3)>span{background:linear-gradient(110deg,#5996ff,#00dcd0);background-clip:text;-webkit-background-clip:text;color:transparent}
.ip-foundation-console-heading p{max-width:490px;font-size:17px;line-height:1.7;margin-top:24px;color:#b6ccdd}
.ip-foundation-console .ip-foundation-links{margin-top:0;gap:6px;flex-shrink:0}
.ip-foundation-console .ip-foundation-links a{color:#f2f7fc;font-size:14px;gap:18px}
.ip-foundation-console .ip-foundation-links a:hover{color:#008cff}
.ip-foundation-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:50px;align-items:start}
.ip-foundation-map{min-width:0;padding-top:8px}
.ip-azure-boundary{border:1px solid #4d7697;border-radius:12px;padding:25px;transition:border-color .35s,background .35s}
.ip-azure-label{display:flex;align-items:center;gap:10px;font-size:12px;color:#b8cedf;margin-bottom:25px}
.ip-azure-label svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.ip-source-stack{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.ip-source-stack>div{display:flex;align-items:start;flex-direction:column;gap:13px;min-width:0;padding:15px 12px;border:1px solid #34546e;border-radius:5px;background:#102940;transition:border-color .35s,background .35s}
.ip-source-stack svg{width:19px;height:19px;fill:none;stroke:#8ab9ff;stroke-width:1.3;stroke-linejoin:round}
.ip-source-stack span{font-size:11px;line-height:1.6;color:#d5e2ed}
.ip-foundation-connector{width:1px;height:29px;background:linear-gradient(#37648a,#00c9cf);margin:auto;position:relative}
.ip-foundation-connector:after{content:'';position:absolute;left:-3px;bottom:0;width:7px;height:7px;border-right:1px solid #00c9cf;border-bottom:1px solid #00c9cf;transform:rotate(45deg)}
.ip-neuralops-node{display:flex;align-items:center;justify-content:center;flex-direction:column;background:#102940;border:1px solid #3e6c90;border-radius:7px;padding:18px}
.ip-neuralops-node img{width:150px;height:53px;object-fit:contain}
.ip-neuralops-node>span{display:block;color:#bdd2e1;font-size:11px;line-height:1.6;margin-top:4px}
.ip-review-node{display:flex;align-items:center;gap:16px;padding:19px 20px;border:1px solid #34546e;background:#102940;border-radius:6px;transition:border-color .35s,background .35s}
.ip-review-node>svg{width:25px;height:25px;fill:none;stroke:#8ab9ff;stroke-width:1.25;stroke-linejoin:round;flex:none}
.ip-review-node strong{font-size:15px;font-weight:400;line-height:1.6;color:#f2f7fc;display:block}
.ip-review-node span{display:block;font-size:11px;line-height:1.6;color:#b5cbdc;margin-top:3px}
.ip-foundation-console .ip-map-caption{font-size:11px;color:#9ab6ca;margin-top:16px;line-height:1.6;max-width:390px}
.ip-foundation-map[data-foundation-state=sources] .ip-source-stack>div{border-color:#00bbcc;background:#11334b}
.ip-foundation-map[data-foundation-state=access] .ip-azure-boundary{border-color:#00d9dc;background:#0059ff0a}
.ip-foundation-map[data-foundation-state=access] .ip-azure-label{color:#00d9dc}
.ip-foundation-map[data-foundation-state=review] .ip-review-node{border-color:#00c9cf;background:#11334b}
.ip-foundation-console .ip-foundation-panel{background:transparent;border:0;border-radius:0;overflow:visible;min-width:0}
.ip-foundation-console .ip-foundation-panel:before{display:none}
.ip-foundation-console .ip-foundation-tabs{border-color:#35516a;margin-bottom:10px}
.ip-foundation-console .ip-foundation-tabs button{color:#aac2d5;font-size:13px;min-height:63px;padding:17px 10px}
.ip-foundation-console .ip-foundation-tabs button[aria-selected=true]{color:#fff;background:#0059ff22}
.ip-foundation-console .ip-foundation-tabs button:is(:hover,:focus-visible){background:#0059ff33;color:#fff}
.ip-foundation-console .ip-foundation-tabs button:focus-visible{outline-color:#70b8ff}
.ip-foundation-console .ip-foundation-content{padding:32px 0 0;min-height:0}
.ip-foundation-console .ip-foundation-content h3{font-size:clamp(29px,2.8vw,41px);line-height:1.15;color:#f2f7fc;max-width:490px}
.ip-foundation-console .ip-foundation-content>p{font-size:16px;line-height:1.8;color:#bed2e2;max-width:490px;margin-top:25px}
.ip-foundation-console .ip-foundation-content ul{border-color:#35516a;display:grid;gap:12px;margin-top:25px;padding-top:23px}
.ip-foundation-console .ip-foundation-content li{color:#bdd2e2;font-size:12px}
.ip-foundation-console .ip-foundation-content li:before{color:#00d9dc}
@media(max-width:1100px){.ip-hero-heading{gap:35px;grid-template-columns:minmax(0,1.5fr) minmax(0,.85fr)}.ip-hero-editorial h1{font-size:6vw}.ip-hero-editorial .ip-hero-lead{font-size:16px}.ip-hero-panorama{height:310px}.ip-context-brief ul{gap:25px}.ip-context-brief li h3{font-size:23px}.ip-foundation-console{padding:36px 30px}.ip-foundation-stage{gap:30px}.ip-azure-boundary{padding:20px}.ip-source-stack>div{padding:13px 9px}.ip-source-stack span{font-size:10px}}
@media(max-width:850px){.ip-page .ip-hero.ip-hero-editorial{padding-top:135px}.ip-hero-heading{grid-template-columns:1fr;gap:24px}.ip-hero-editorial h1{font-size:clamp(48px,8vw,69px);max-width:700px}.ip-hero-intro{display:flex;align-items:end;gap:35px;justify-content:space-between}.ip-hero-editorial .ip-hero-lead{font-size:17px;max-width:430px}.ip-hero-editorial .ip-explore{flex-shrink:0;font-size:12px}.ip-context-brief ul{gap:20px}.ip-context-brief li h3{font-size:21px}.ip-context-brief li p{font-size:14px}.ip-foundation{padding-bottom:65px}.ip-foundation-console-heading{align-items:start;gap:30px;flex-direction:column}.ip-foundation-console .ip-foundation-links{flex-direction:row;gap:12px 30px}.ip-foundation-stage{grid-template-columns:1fr;gap:32px}.ip-foundation-map{max-width:610px;width:100%;margin:auto}.ip-foundation-console .ip-foundation-content{padding-top:25px}.ip-foundation-console .ip-foundation-content>p{max-width:610px}.ip-source-stack span{font-size:12px}.ip-foundation-console .ip-foundation-content ul{display:flex;gap:15px 25px}.ip-foundation-console .ip-map-caption{max-width:none}}
@media(max-width:600px){.ip-page .ip-hero.ip-hero-editorial{padding:125px 0 22px}.ip-hero-editorial .ip-hero-sector{font-size:12px;margin-bottom:24px}.ip-hero-editorial h1{font-size:clamp(40px,10.5vw,62px);line-height:1.08}.ip-hero-heading{gap:24px}.ip-hero-intro{display:block}.ip-hero-editorial .ip-hero-lead{font-size:17px;max-width:100%}.ip-hero-editorial .ip-explore{font-size:14px;margin-top:18px}.ip-hero-panorama{height:235px;margin-top:28px;border-radius:9px}.ip-context-brief>p{font-size:18px}.ip-context-brief ul{grid-template-columns:1fr;margin-top:29px;gap:0}.ip-context-brief li{padding:23px 0 23px 49px}.ip-context-brief li>svg{position:absolute;left:0;top:24px;width:25px;height:25px;margin:0}.ip-context-brief li h3{font-size:24px;max-width:none}.ip-context-brief li p{font-size:15px;margin-top:12px;max-width:none}.ip-value-card{padding-top:2px}.ip-value-main{padding-top:25px}.ip-use-body{padding-top:25px}.ip-use-explained dd{font-size:15px}.ip-foundation{padding:15px 0 50px}.ip-foundation-console{padding:28px 20px;border-radius:12px}.ip-foundation-console h2{font-size:36px}.ip-foundation-console-heading{padding-bottom:28px;gap:23px}.ip-foundation-console-heading p{font-size:16px;margin-top:20px}.ip-foundation-console .ip-foundation-links{flex-direction:column;gap:0}.ip-foundation-console .ip-foundation-links a{font-size:13px}.ip-azure-boundary{padding:17px 13px}.ip-azure-label{font-size:11px;margin-bottom:20px}.ip-source-stack{grid-template-columns:1fr;gap:8px}.ip-source-stack>div{padding:10px 12px;flex-direction:row;align-items:center;gap:10px}.ip-source-stack span{font-size:12px}.ip-source-stack svg{width:17px;height:17px;flex:none}.ip-foundation-connector{height:24px}.ip-neuralops-node{padding:15px 12px}.ip-neuralops-node img{width:135px;height:47px}.ip-neuralops-node>span{font-size:10px;text-align:center}.ip-review-node{padding:15px 13px;gap:12px}.ip-review-node strong{font-size:14px}.ip-review-node span{font-size:10px}.ip-foundation-console .ip-map-caption{font-size:10px}.ip-foundation-stage{gap:25px}.ip-foundation-console .ip-foundation-tabs button{font-size:12px;padding:15px 5px;gap:7px;min-height:59px}.ip-foundation-console .ip-foundation-tabs svg{width:17px;height:17px}.ip-foundation-console .ip-foundation-content h3{font-size:30px}.ip-foundation-console .ip-foundation-content>p{font-size:16px}.ip-foundation-console .ip-foundation-content ul{display:grid;gap:10px}}
html[data-access-scale] .ip-page .ip-hero.ip-hero-editorial{height:auto;min-height:0}
html[data-access-scale] .ip-hero-heading,html[data-access-scale] .ip-context-brief ul,html[data-access-scale] .ip-foundation-stage{grid-template-columns:1fr}
html[data-access-scale] .ip-hero-intro{display:block}
html[data-access-scale] .ip-foundation-console-heading{flex-direction:column;align-items:start}
html[data-access-scale] .ip-source-stack{grid-template-columns:1fr}
html[data-access-scale] .ip-source-stack>div{flex-direction:row;align-items:center}
html[data-access-scale] .ip-source-stack span{font-size:14px}
html[data-access-scale] .ip-foundation-console .ip-foundation-tabs button{font-size:13px}
html[data-access-scale] .ip-foundation-console .ip-foundation-content h3{overflow-wrap:anywhere}
html[data-access-contrast=true] .ip-hero-editorial :is(h1,h1>span,.ip-hero-lead,.ip-hero-sector){background:none;color:var(--access-ink);-webkit-text-fill-color:var(--access-ink)}
html[data-access-contrast=true] .ip-foundation-console{background:var(--access-paper);color:var(--access-ink);border:1px solid var(--access-ink)}
html[data-access-contrast=true] .ip-foundation-console :is(h2,h3,h2>span,h3>span,p,strong,span,li,button,a){color:var(--access-ink);background:none}
html[data-access-contrast=true] .ip-foundation-console :is(.ip-azure-boundary,.ip-source-stack>div,.ip-neuralops-node,.ip-review-node){background:var(--access-paper);border-color:var(--access-ink)}
html[data-access-contrast=true] .ip-foundation-console svg{stroke:var(--access-ink)}
html:not([data-theme=dark])[data-access-contrast=true] .ip-neuralops-node img{filter:brightness(0)}
html[data-access-motion=true] .ip-foundation-map *{transition:none}
@media(prefers-reduced-motion:reduce){.ip-foundation-map *{transition:none!important}.ip-hero-editorial .ip-explore svg{transition:none}}
@media(forced-colors:active){.ip-page .ip-hero.ip-hero-editorial,.ip-foundation-console{background:Canvas;color:CanvasText}.ip-hero-editorial h1,.ip-hero-editorial h1>span{background:none;color:CanvasText;-webkit-text-fill-color:CanvasText}.ip-foundation-console :is(h2,h3,h2>span,h3>span,p,strong,span,li,button,a){color:CanvasText;background:none}.ip-foundation-console :is(.ip-azure-boundary,.ip-source-stack>div,.ip-neuralops-node,.ip-review-node){background:Canvas;border-color:CanvasText}.ip-foundation-console svg{stroke:CanvasText}.ip-foundation-console .ip-foundation-tabs button[aria-selected=true]{outline:1px solid Highlight}}

/* A single photographic feature, with a clear sector title and separate copy. */
.ip-page .ip-hero.ip-hero-feature{display:block;min-height:0;padding:130px 0 45px;background:var(--ip-paper);overflow:visible;color:#fff}
.ip-hero-feature-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);background:radial-gradient(ellipse at 0 100%,#0059ff24,transparent 70%),#081b30;border-radius:16px;overflow:hidden;min-height:610px;isolation:isolate}
.ip-hero-feature .ip-hero-heading{display:flex;align-items:start;flex-direction:column;justify-content:center;gap:0;padding:52px 48px;min-width:0}
.ip-hero-feature h1{font-size:clamp(57px,6.2vw,100px);line-height:1.03;font-weight:350;letter-spacing:-.055em;color:#fff;max-width:100%;margin:0}
.ip-hero-feature .ip-hero-statement{font-size:clamp(27px,2.65vw,41px);line-height:1.17;letter-spacing:-.035em;font-weight:350;color:#fff;margin-top:33px}
.ip-hero-statement>span{background:linear-gradient(110deg,#5996ff,#00dcd0);background-clip:text;-webkit-background-clip:text;color:transparent}
.ip-hero-feature .ip-hero-lead{font-size:17px;line-height:1.7;color:#bfd1df;max-width:435px;margin-top:24px}
.ip-hero-feature .ip-explore{font-size:13px;gap:22px;min-height:53px;padding:15px 23px;background:#fff;color:#071120;border:1px solid #fff;margin-top:30px}
.ip-hero-feature .ip-explore:is(:hover,:focus-visible){background:linear-gradient(110deg,#4b91ff,#00d9dc);border-color:transparent;color:#071120}
.ip-hero-feature .ip-explore svg{transition:transform .35s ease}
.ip-hero-feature .ip-explore:is(:hover,:focus-visible) svg{transform:rotate(135deg)}
.ip-hero-feature-photo{height:100%;min-height:610px;margin:0;overflow:hidden;background:#162c3d}
.ip-hero-feature .ip-brand-photo{position:static;width:100%;height:100%;min-height:610px;object-fit:cover;object-position:var(--ip-photo-position);filter:saturate(.8);transform:none!important;clip-path:none!important}
.ip-use-body{padding-bottom:25px}
.ip-use-link.text-link{margin-top:24px}
.ip-motion-ready [data-ip-reveal],.ip-motion-ready [data-ip-reveal]:not(.is-ip-visible),.ip-motion-ready figure[data-ip-reveal]:not(.is-ip-visible){opacity:1;transform:none;clip-path:none;transition:none}
.ip-page [data-reveal]{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}
@media(hover:hover) and (pointer:fine){.ip-use-case{transition:box-shadow .45s ease,border-color .45s ease}.ip-use-case:hover{border-color:#0059ff55;box-shadow:0 12px 30px #0059ff08}}
@media(max-width:1100px){.ip-hero-feature-card{min-height:560px}.ip-hero-feature .ip-hero-heading{padding:38px 32px}.ip-hero-feature h1{font-size:6.2vw}.ip-hero-feature .ip-hero-statement{font-size:29px}.ip-hero-feature-photo,.ip-hero-feature .ip-brand-photo{min-height:560px}.ip-hero-feature .ip-hero-lead{font-size:16px}}
@media(max-width:850px){.ip-page .ip-hero.ip-hero-feature{padding-top:120px}.ip-hero-feature-card{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);min-height:530px}.ip-hero-feature .ip-hero-heading{padding:35px 28px}.ip-hero-feature h1{font-size:clamp(42px,6.4vw,60px)}.ip-hero-feature .ip-hero-statement{font-size:27px;margin-top:27px}.ip-hero-feature-photo,.ip-hero-feature .ip-brand-photo{min-height:530px}.ip-hero-feature .ip-explore{font-size:12px;gap:15px;padding-inline:20px}}
@media(max-width:600px){.ip-page .ip-hero.ip-hero-feature{padding:112px 0 25px}.ip-hero-feature-card{grid-template-columns:1fr;border-radius:12px;min-height:0}.ip-hero-feature .ip-hero-heading{padding:33px 26px 35px}.ip-hero-feature h1{font-size:clamp(43px,12.5vw,67px)}.ip-hero-feature .ip-hero-statement{font-size:29px;line-height:1.2;margin-top:26px}.ip-hero-feature .ip-hero-lead{font-size:16px;line-height:1.7;margin-top:22px}.ip-hero-feature .ip-explore{font-size:12px;margin-top:25px;min-height:51px}.ip-hero-feature-photo{height:245px;min-height:0}.ip-hero-feature .ip-brand-photo{height:100%;min-height:0}.ip-use-body{padding-bottom:24px}}
html[data-access-scale] .ip-hero-feature-card{grid-template-columns:1fr}
html[data-access-scale] .ip-hero-feature h1{font-size:clamp(38px,6vw,80px);overflow-wrap:anywhere}
html[data-access-scale] .ip-hero-feature-photo{height:300px;min-height:0}
html[data-access-scale] .ip-hero-feature .ip-brand-photo{min-height:0;height:100%}
html[data-access-contrast=true] .ip-hero-feature-card{background:var(--access-paper);border:1px solid var(--access-ink);color:var(--access-ink)}
html[data-access-contrast=true] .ip-hero-feature :is(h1,.ip-hero-statement,.ip-hero-statement>span,.ip-hero-lead){color:var(--access-ink);background:none;-webkit-text-fill-color:var(--access-ink)}
@media(prefers-reduced-motion:reduce){.ip-hero-feature .ip-explore svg,.ip-use-case{transition:none!important}}
@media(forced-colors:active){.ip-page .ip-hero.ip-hero-feature,.ip-hero-feature-card{background:Canvas;color:CanvasText}.ip-hero-feature :is(h1,.ip-hero-statement,.ip-hero-statement>span,.ip-hero-lead){color:CanvasText;background:none;-webkit-text-fill-color:CanvasText}.ip-hero-feature-card{border:1px solid CanvasText}}

/* A Calab-owned composition: the original brand silhouette carries the sector. */
.ip-page .ip-hero.ip-hero-brand{padding:115px 0 25px;display:block;min-height:0;background:radial-gradient(ellipse at 94% 40%,#00c8d609,transparent 55%),var(--ip-paper);color:var(--ip-ink);overflow:hidden}
.ip-brand-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:25px;min-height:630px}
.ip-hero-brand .ip-hero-heading{display:block;min-width:0;padding:25px 0 45px}
.ip-hero-brand h1{font-size:clamp(64px,6.4vw,100px);line-height:1.04;letter-spacing:-.055em;font-weight:350;color:var(--ip-ink);max-width:780px}
.ip-hero-brand h1>span{background:var(--ip-highlight);background-clip:text;-webkit-background-clip:text;color:transparent;display:inline;-webkit-text-fill-color:transparent}
.ip-hero-brand .ip-hero-lead{font-size:20px;line-height:1.65;color:var(--ip-muted);max-width:480px;margin-top:28px}
.ip-hero-brand .ip-explore{font-size:14px;margin-top:30px;gap:24px;background:var(--ip-ink);color:var(--ip-paper);min-height:55px;border:1px solid var(--ip-ink)}
.ip-hero-brand .ip-explore:is(:hover,:focus-visible){background:linear-gradient(110deg,#4b91ff,#00d9dc);color:#071120;border-color:transparent}
.ip-hero-brand .ip-explore svg{transition:transform .35s}.ip-hero-brand .ip-explore:is(:hover,:focus-visible) svg{transform:rotate(135deg)}
.ip-hero-brand .ip-mark-frame{position:relative;min-height:630px;height:100%;margin:0;background:transparent;overflow:visible}
.ip-mark-photo,.ip-mark-underlay{position:absolute;left:-20%;top:50%;width:140%;aspect-ratio:1;transform:translateY(-50%);mask:url('/images/brand/calab-icon-white.png') center/contain no-repeat;-webkit-mask:url('/images/brand/calab-icon-white.png') center/contain no-repeat}
.ip-mark-underlay{background:linear-gradient(130deg,#0059ff,#00d9c7);margin:8px 0 0 8px;opacity:.65}
.ip-hero-brand .ip-brand-photo{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:var(--ip-photo-position);filter:saturate(.7);transform:none!important;min-height:0}
@media(max-width:1100px){.ip-brand-hero-grid{min-height:570px;gap:15px}.ip-hero-brand h1{font-size:6.8vw}.ip-hero-brand .ip-mark-frame{min-height:570px}.ip-hero-brand .ip-hero-lead{font-size:18px}}
@media(max-width:760px){.ip-page .ip-hero.ip-hero-brand{padding-top:125px}.ip-brand-hero-grid{grid-template-columns:1fr;gap:0;min-height:0}.ip-hero-brand .ip-hero-heading{padding:0}.ip-hero-brand h1{font-size:clamp(48px,9.3vw,70px);max-width:620px}.ip-hero-brand .ip-hero-lead{font-size:18px;max-width:520px;margin-top:24px}.ip-hero-brand .ip-mark-frame{height:410px;min-height:0;width:90%;max-width:520px;justify-self:center}.ip-mark-photo,.ip-mark-underlay{width:120%;left:-10%;max-width:none}.ip-hero-brand .ip-explore{font-size:13px;margin-top:25px}}
@media(max-width:400px){.ip-hero-brand h1{font-size:clamp(43px,12vw,54px)}.ip-hero-brand .ip-mark-frame{height:345px;width:100%}.ip-hero-brand .ip-hero-lead{font-size:17px}}
html[data-access-scale] .ip-brand-hero-grid{grid-template-columns:1fr}html[data-access-scale] .ip-hero-brand h1{font-size:clamp(42px,6.3vw,85px);overflow-wrap:anywhere}html[data-access-scale] .ip-hero-brand .ip-mark-frame{height:400px;min-height:0;max-width:560px;width:100%;justify-self:center}
html[data-access-contrast=true] .ip-hero-brand h1>span{background:none;color:var(--access-ink);-webkit-text-fill-color:var(--access-ink)}html[data-access-contrast=true] .ip-mark-underlay{display:none}
@media(forced-colors:active){.ip-page .ip-hero.ip-hero-brand{background:Canvas;color:CanvasText}.ip-hero-brand h1,.ip-hero-brand h1>span{background:none;color:CanvasText;-webkit-text-fill-color:CanvasText}.ip-mark-underlay{display:none}}

/* An editorial industry cover: the sector, its purpose, one wide photograph. */
.ip-page .ip-hero.ip-hero-cover{display:block;min-height:0;padding:135px 0 0;background:var(--ip-paper);color:var(--ip-ink);overflow:hidden}
.ip-hero-cover:before{display:none}
.ip-cover-intro{padding-bottom:43px}
.ip-hero-cover h1{font-size:clamp(94px,12.1vw,178px);font-weight:350;line-height:1;letter-spacing:-.065em;color:var(--ip-ink);margin:0;max-width:none;text-wrap:initial}
.ip-cover-context{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:9%;align-items:end;margin-top:34px}
.ip-hero-cover .ip-cover-promise{font-size:clamp(33px,3.1vw,46px);font-weight:350;letter-spacing:-.035em;line-height:1.15;margin:0;padding-bottom:.08em;background:var(--ip-highlight);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.ip-hero-cover .ip-hero-lead{font-size:18px;line-height:1.65;color:var(--ip-muted);max-width:485px;margin:0}
.ip-hero-cover .ip-explore{font-size:14px;min-height:54px;gap:26px;margin-top:23px;background:var(--ip-ink);color:var(--ip-paper);border:1px solid var(--ip-ink)}
.ip-hero-cover .ip-explore:is(:hover,:focus-visible){background:linear-gradient(110deg,#4b91ff,#00d9dc);color:#071120;border-color:transparent}
.ip-hero-cover .ip-explore svg{transform:rotate(135deg);transition:transform .3s}
.ip-hero-cover .ip-explore:is(:hover,:focus-visible) svg{transform:translateY(3px) rotate(135deg)!important}
.ip-hero-cover .ip-cover-photo{position:relative;width:100%;height:clamp(290px,26vw,420px);min-height:0;margin:0;overflow:hidden;background:#122d43}
.ip-cover-image{display:block;position:static;width:100%;height:100%;object-fit:cover;object-position:var(--ip-photo-position);filter:saturate(.8);mask:none;-webkit-mask:none;transform:none!important;clip-path:none!important}
.ip-cover-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,#0059ff12,transparent 45%,#00cbbb0c);pointer-events:none}
@media(min-width:1800px){.ip-cover-intro{padding-top:8px;padding-bottom:48px}.ip-cover-context{margin-top:38px}.ip-hero-cover .ip-hero-lead{font-size:20px}}
@media(max-width:1100px){.ip-page .ip-hero.ip-hero-cover{padding-top:130px}.ip-hero-cover h1{font-size:12vw}.ip-cover-context{gap:6%;grid-template-columns:1.1fr 1fr;margin-top:28px}.ip-hero-cover .ip-cover-promise{font-size:35px}.ip-hero-cover .ip-hero-lead{font-size:17px}.ip-cover-intro{padding-bottom:35px}}
@media(max-width:760px){.ip-page .ip-hero.ip-hero-cover{padding-top:125px}.ip-hero-cover h1{font-size:clamp(68px,13.8vw,102px)}.ip-cover-context{grid-template-columns:1fr;gap:23px;margin-top:27px}.ip-hero-cover .ip-cover-promise{font-size:36px;line-height:1.15}.ip-hero-cover .ip-cover-promise br{display:none}.ip-hero-cover .ip-hero-lead{font-size:18px;max-width:590px}.ip-hero-cover .ip-explore{margin-top:23px;font-size:13px;min-height:52px}.ip-cover-intro{padding-bottom:33px}.ip-hero-cover .ip-cover-photo{height:280px}}
@media(max-width:450px){.ip-page .ip-hero.ip-hero-cover{padding-top:116px}.ip-hero-cover h1{font-size:clamp(48px,14vw,65px);letter-spacing:-.055em}.ip-cover-context{margin-top:23px;gap:19px}.ip-hero-cover .ip-cover-promise{font-size:30px;line-height:1.2;max-width:360px}.ip-hero-cover .ip-hero-lead{font-size:17px;line-height:1.65}.ip-hero-cover .ip-cover-photo{height:245px}.ip-cover-intro{padding-bottom:30px}}
html[data-access-scale] .ip-cover-context{grid-template-columns:1fr;gap:25px}
html[data-access-scale] .ip-hero-cover h1{font-size:clamp(43px,9.5vw,150px);overflow-wrap:anywhere}
html[data-access-scale] .ip-hero-cover .ip-cover-promise{font-size:clamp(30px,3.1vw,46px)}
html[data-access-contrast=true] .ip-hero-cover{background:var(--access-paper)!important;color:var(--access-ink)}
html[data-access-contrast=true] .ip-hero-cover :is(h1,.ip-cover-promise,.ip-hero-lead){background:none;color:var(--access-ink);-webkit-text-fill-color:var(--access-ink)}
@media(prefers-reduced-motion:reduce){.ip-hero-cover .ip-explore svg{transition:none!important}}
@media(forced-colors:active){.ip-page .ip-hero.ip-hero-cover{background:Canvas;color:CanvasText}.ip-hero-cover :is(h1,.ip-cover-promise,.ip-hero-lead){background:none;color:CanvasText;-webkit-text-fill-color:CanvasText}.ip-cover-photo:after{display:none}}
.ip-hero-cover .ip-cover-promise{width:fit-content;max-width:100%}

/* Keep the Government introduction compact after removing its strapline. */
.ip-cover-context.ip-cover-context-no-promise{grid-template-columns:1fr}
.ip-cover-context-no-promise .ip-cover-copy{max-width:600px}
.ip-cover-intro :is(h1,.ip-cover-context,.ip-cover-copy,.ip-hero-lead,.ip-explore){margin-left:0;justify-self:start;text-align:left}
.ip-page #how-we-work{scroll-margin-top:10px}
.ip-page[data-sector="higher-education"] .ip-hero-cover h1{font-size:clamp(65px,9.8vw,145px);max-width:100%;text-wrap:balance}
/* Government priorities use the About page's three-point editorial rhythm. */
.ip-sector-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);gap:85px;align-items:start;margin-top:45px}
:is(.ip-government-context,.ip-sector-context) .ip-sector-priorities{display:grid;grid-template-columns:1fr;gap:0;margin:0;list-style:none;padding:0}
:is(.ip-government-context,.ip-sector-context) .ip-sector-priorities>li{position:relative;display:block;padding:31px 0 34px 28px;border-top:0;border-bottom:1px solid var(--ip-line)}
:is(.ip-government-context,.ip-sector-context) .ip-sector-priorities>li:first-child{padding-top:7px}
:is(.ip-government-context,.ip-sector-context) .ip-sector-priorities h3{font-size:34px;line-height:1.15;letter-spacing:-.04em;font-weight:350;max-width:none;width:fit-content;background:var(--ip-highlight);background-clip:text;-webkit-background-clip:text;color:transparent}
:is(.ip-government-context,.ip-sector-context) .ip-sector-priorities p{font-size:18px;line-height:1.75;color:var(--ip-muted);max-width:500px;margin-top:18px}
.ip-priority-accent{position:absolute;left:0;top:31px;bottom:34px;width:3px;background:linear-gradient(#0059ff,#00d6c9);transform:scaleY(.25);transform-origin:top;opacity:0;transition:opacity .35s ease,transform .6s ease}
.ip-sector-priorities>li:first-child .ip-priority-accent{top:7px}
.ip-sector-priorities>li.is-current .ip-priority-accent,.ip-sector-priorities>li:hover .ip-priority-accent{opacity:1;transform:scaleY(1)}
.ip-sector-photo{margin:0;align-self:stretch;min-height:540px;position:relative;overflow:hidden;border-radius:4px}
.ip-sector-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 67%;display:block}
@media(max-width:1100px){.ip-sector-feature{gap:50px}:is(.ip-government-context,.ip-sector-context) .ip-sector-priorities h3{font-size:29px}:is(.ip-government-context,.ip-sector-context) .ip-sector-priorities p{font-size:17px}.ip-sector-photo{min-height:510px}}
@media(max-width:850px){.ip-sector-feature{grid-template-columns:1fr;gap:35px;margin-top:35px}.ip-sector-photo{min-height:0;aspect-ratio:1.45}.ip-sector-photo>img{object-position:50% 65%}:is(.ip-government-context,.ip-sector-context) .ip-sector-priorities p{max-width:100%}}
@media(max-width:600px){.ip-sector-feature{margin-top:30px;gap:30px}:is(.ip-government-context,.ip-sector-context) .ip-sector-priorities>li{padding:27px 0 29px 23px}:is(.ip-government-context,.ip-sector-context) .ip-sector-priorities>li:first-child{padding-top:0}:is(.ip-government-context,.ip-sector-context) .ip-sector-priorities h3{font-size:28px}:is(.ip-government-context,.ip-sector-context) .ip-sector-priorities p{font-size:16px;margin-top:15px}.ip-priority-accent{top:27px;bottom:29px}.ip-sector-priorities>li:first-child .ip-priority-accent{top:0}.ip-sector-photo{aspect-ratio:1.05}.ip-sector-photo>img{object-position:50% 66%}}
html[data-access-scale] .ip-sector-feature{grid-template-columns:1fr;gap:35px}
html[data-access-scale] .ip-sector-photo{min-height:0;aspect-ratio:1.4}
html[data-access-contrast=true] :is(.ip-government-context,.ip-sector-context) .ip-sector-priorities h3{background:none;color:var(--access-ink);-webkit-text-fill-color:var(--access-ink)}
@media(prefers-reduced-motion:reduce){.ip-priority-accent{transition:none}}
html[data-access-motion=true] .ip-priority-accent{transition:none}
@media(forced-colors:active){:is(.ip-government-context,.ip-sector-context) .ip-sector-priorities h3{background:none;color:CanvasText}.ip-priority-accent{background:Highlight}}
/* Government service sequence: one visual explanation with short captions. */
.ig-value{padding:76px 0 65px;background:linear-gradient(110deg,#081d30,#0b2b40);color:#f2f8ff}
.ig-heading{text-align:center;max-width:850px;margin:0 auto}
.ip-page .ig-heading h2{font-size:clamp(40px,4vw,60px);line-height:1.1}
.ig-heading h2>span{background:linear-gradient(105deg,#279cff,#00d9ca);background-clip:text;-webkit-background-clip:text;color:transparent}
.ip-page .ig-heading>p{font-size:17px;line-height:1.7;color:#b9d1e3;max-width:650px;margin:23px auto 0}
.ig-sequence{list-style:none;padding:0;margin:35px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:70px}
.ig-sequence>li{position:relative;min-width:0;text-align:center}
.ig-sequence>li:not(:last-child):after{content:'';position:absolute;right:-63px;top:100px;width:55px;height:1px;background:linear-gradient(90deg,#38678e,#48c6d0)}
.ig-sequence>li:not(:last-child):before{content:'';position:absolute;right:-63px;top:97px;width:7px;height:7px;border-top:1px solid #48c6d0;border-right:1px solid #48c6d0;transform:rotate(45deg)}
.ig-scene{position:relative;isolation:isolate;height:205px;display:flex;align-items:center;justify-content:center}
.ig-scene-halo{position:absolute;inset:8px -10px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 50%,#0e80ac24,transparent 70%);animation:ig-breathe 12s ease-in-out infinite;animation-play-state:paused}
.ip-page .ig-scene>svg{display:block;width:250px;max-width:100%;height:175px;fill:none;stroke:none}
.ig-number{display:block;font-size:11px;line-height:1.5;letter-spacing:.08em;color:#46d8d4;margin-bottom:13px}
.ip-page .ig-step-copy h3{font-size:27px;line-height:1.2;font-weight:350;letter-spacing:-.035em;color:#f2f8ff}
.ip-page .ig-step-copy p{font-size:15px;line-height:1.7;color:#b9d1e3;max-width:310px;margin:15px auto 0}
.ig-action{text-align:center;margin-top:38px}
.ig-action .text-link{color:#eff7ff;font-size:14px}
.ig-action .text-link>svg{width:20px;height:20px}
.ig-trace{stroke-dasharray:17 83;stroke-dashoffset:100;animation:ig-signal 8s linear infinite;animation-play-state:paused}
.ig-running .ig-trace,.ig-running .ig-scene-halo{animation-play-state:running}
@keyframes ig-signal{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes ig-breathe{0%,100%{opacity:.5}50%{opacity:1}}
@media(max-width:1100px){.ig-sequence{gap:40px}.ig-sequence>li:not(:last-child):after{right:-34px;width:28px}.ig-sequence>li:not(:last-child):before{right:-34px}.ip-page .ig-step-copy h3{font-size:24px}.ip-page .ig-step-copy p{font-size:14px}}
@media(max-width:760px){.ig-value{padding:60px 0 50px}.ig-sequence{grid-template-columns:1fr;gap:30px;margin-top:32px}.ig-sequence>li{display:grid;grid-template-columns:150px minmax(0,1fr);gap:25px;align-items:center;text-align:left;border-top:1px solid #57809b44;padding-top:25px}.ig-sequence>li:first-child{border:0;padding-top:0}.ig-scene{height:145px}.ip-page .ig-scene>svg{height:auto}.ig-sequence>li:before,.ig-sequence>li:after{display:none}.ig-number{margin-bottom:10px}.ip-page .ig-step-copy h3{font-size:26px}.ip-page .ig-step-copy p{font-size:15px;margin:12px 0 0;max-width:none}.ig-action{margin-top:30px}}
@media(max-width:500px){.ig-heading{text-align:left}.ip-page .ig-heading h2{font-size:clamp(34px,8.5vw,42px)}.ip-page .ig-heading>p{font-size:16px;margin-top:21px}.ig-sequence{gap:27px;margin-top:24px}.ig-sequence>li{grid-template-columns:1fr;gap:8px;text-align:center;padding-top:22px}.ig-scene{height:165px}.ip-page .ig-scene>svg{width:230px;height:161px}.ig-number{margin-bottom:10px}.ip-page .ig-step-copy h3{font-size:27px}.ip-page .ig-step-copy p{font-size:15px;max-width:310px;margin:12px auto 0}.ig-value{padding:50px 0 44px}.ig-action{text-align:left;margin-top:33px}}
html[data-access-scale] .ig-sequence{grid-template-columns:1fr;gap:30px}
html[data-access-scale] .ig-sequence>li{display:block;border-top:1px solid #57809b44;padding-top:22px}
html[data-access-scale] .ig-sequence>li:before,html[data-access-scale] .ig-sequence>li:after{display:none}
html[data-access-scale] .ig-step-copy p{max-width:650px}
html[data-access-contrast=true] .ig-value{background:var(--access-paper);color:var(--access-ink)}
html[data-access-contrast=true] .ig-value :is(h2,h3,p,a,span){background:none;color:var(--access-ink);-webkit-text-fill-color:var(--access-ink)}
html[data-access-contrast=true] .ig-scene{display:none}
@media(prefers-reduced-motion:reduce){.ig-value *,.ig-value *:before,.ig-value *:after{animation:none!important;transition:none!important}}
html[data-access-motion=true] .ig-value *{animation:none!important;transition:none!important}
@media(forced-colors:active){.ig-value{background:Canvas;color:CanvasText}.ig-value :is(h2,h3,p,a,span){background:none;color:CanvasText}.ig-scene{display:none}.ig-sequence>li:before,.ig-sequence>li:after{display:none}}
/* Scroll choreography. Classes are added only when motion is permitted.
   No CSS hides substantive content while waiting for JavaScript. */
.ip-reading-progress{position:fixed;inset:0 0 auto;height:3px;z-index:110;pointer-events:none;display:none;transform:scaleX(var(--ip-reading-progress,0));transform-origin:left;background:linear-gradient(90deg,#0059ff,#00c8c3)}
.ip-scroll-motion .ip-reading-progress{display:block}
.ip-page.ip-scroll-motion .ip-cover-photo{clip-path:inset(0 var(--ip-cover-inset,0px) round var(--ip-cover-radius,0px))}
.ip-page.ip-scroll-motion .ip-cover-image{transform:translate3d(0,var(--ip-photo-y,0px),0) scale(1.14)!important}
.ip-page.ip-scroll-motion .ip-scroll-photo{overflow:hidden}
.ip-page.ip-scroll-motion .ip-scroll-photo>img{transform:translate3d(0,var(--ip-photo-y,0px),0) scale(1.08)}
.ip-page.ip-scroll-motion .ip-use-visual>img{transform:translate3d(0,var(--ip-photo-y,0px),0) scale(1.08)!important;scale:1;transition:scale .8s cubic-bezier(.16,1,.3,1)}
.ip-page.ip-scroll-motion .ip-photo-in-view>img{will-change:transform}
.ip-page.ip-scroll-motion .ip-cover-photo.ip-photo-in-view{will-change:clip-path}
.ip-scroll-motion .ip-scroll-heading>span{background-size:180% 100%;background-position:var(--ip-heading-shift,0%) 50%}
.ip-scroll-motion .ip-value-roi strong{background-size:180% 100%;background-position:var(--ip-proof-shift,0%) 50%}
.ip-scroll-motion .ip-foundation-connector:before{content:'';position:absolute;left:-1px;top:0;width:3px;height:12px;border-radius:3px;background:linear-gradient(180deg,transparent,#71dfef,#00d7bb);opacity:0;animation:ip-foundation-transfer 3.5s ease-in-out infinite;animation-play-state:paused}
.ip-scroll-motion .ip-foundation-flow .ip-foundation-connector:before{animation-play-state:running}
.ip-scroll-motion .ig-sequence>li{position:relative}
.ip-scroll-motion .ig-step-copy{border-top:1px solid #5a7b9140;padding-top:22px;position:relative}
.ip-scroll-motion .ig-step-copy:before{content:'';position:absolute;inset:-1px 0 auto;height:1px;background:linear-gradient(90deg,#277cff,#4de1d2);transform:scaleX(var(--ip-step-progress,0));transform-origin:left}
.ip-scroll-motion .ig-scene{transition:filter .65s ease;filter:saturate(.7)}
.ip-scroll-motion .ip-stage-current .ig-scene{filter:saturate(1.2) drop-shadow(0 8px 20px #008bdb20)}
.ip-scroll-motion .ip-stage-current .ig-number{color:#70caff}
@keyframes ip-foundation-transfer{0%{transform:translateY(0);opacity:0}20%{opacity:1}75%{opacity:1}100%{transform:translateY(19px);opacity:0}}
@media(hover:hover) and (pointer:fine){.ip-page.ip-scroll-motion .ip-use-visual:is(:hover,:focus-visible)>img{scale:1.025}}
@media(max-width:760px){.ip-reading-progress{height:2px}}
@media(prefers-reduced-motion:reduce){.ip-reading-progress{display:none!important}.ip-page.ip-scroll-motion .ip-cover-photo{clip-path:none!important}.ip-page.ip-scroll-motion :is(.ip-cover-image,.ip-scroll-photo>img,.ip-use-visual>img){transform:none!important;scale:1!important;will-change:auto!important}.ip-foundation-connector:before{display:none!important}}
html[data-access-motion=true] .ip-reading-progress,html[data-access-contrast=true] .ip-reading-progress{display:none!important}
html[data-access-motion=true] .ip-page.ip-scroll-motion :is(.ip-cover-image,.ip-scroll-photo>img,.ip-use-visual>img){transform:none!important;scale:1!important;will-change:auto!important}
html[data-access-motion=true] .ip-page.ip-scroll-motion .ip-cover-photo{clip-path:none!important}
html[data-access-motion=true] .ip-foundation-connector:before{display:none!important}
@media(print),(forced-colors:active){.ip-reading-progress,.ip-foundation-connector:before{display:none!important}.ip-page.ip-scroll-motion .ip-cover-photo{clip-path:none!important}.ip-page.ip-scroll-motion :is(.ip-cover-image,.ip-scroll-photo>img,.ip-use-visual>img){transform:none!important;scale:1!important}}
/* Engagement evidence stays visible below each sector's short visual sequence. */
.ig-impact{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:28px 60px;border-top:1px solid #57809b55;margin-top:40px;padding-top:31px}
.ig-impact>div{display:flex;align-items:center;gap:20px;max-width:100%}
.ig-impact strong{font-size:clamp(29px,3.1vw,46px);line-height:1.1;letter-spacing:-.045em;font-weight:350;color:#57d7df}
.ig-impact>div>span{font-size:13px;line-height:1.6;color:#d3e4f1;max-width:145px}
.ip-page .ig-impact>p{flex-basis:100%;font-size:11px;line-height:1.7;color:#a5c0d6;text-align:center;margin:0}
.ig-detail{border-top:1px solid #57809b55;border-bottom:1px solid #57809b55;max-width:850px;margin:30px auto 0}
.ig-detail summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:14px;line-height:1.5;padding:18px 0;cursor:pointer;color:#e8f3fc}
.ig-detail summary::-webkit-details-marker{display:none}
.ig-detail summary>span{font-size:23px;color:#49d2d2;line-height:1;transition:transform .25s}
.ig-detail[open] summary>span{transform:rotate(45deg)}
.ip-page .ig-detail>p{font-size:14px;line-height:1.75;color:#b9d1e3;padding:0 30px 20px 0;max-width:760px;margin:0}
.ig-detail summary:focus-visible{outline:2px solid #64b9ff;outline-offset:4px}
@media(max-width:760px){.ig-impact{justify-content:flex-start;gap:22px 35px;margin-top:33px;padding-top:26px}.ig-impact>div{gap:16px}.ig-impact strong{font-size:36px}.ig-impact>div>span{font-size:12px}.ip-page .ig-impact>p{text-align:left}.ig-detail{margin-top:25px}}
@media(max-width:450px){.ig-impact{display:grid;gap:24px}.ig-impact>div{justify-content:space-between}.ig-impact strong{font-size:34px}.ig-impact>div>span{max-width:115px}.ip-page .ig-detail>p{font-size:14px;padding-right:0}}
html[data-access-scale] .ig-impact{display:grid;gap:25px;justify-content:start}
html[data-access-scale] .ig-impact>div{flex-wrap:wrap}
html[data-access-scale] .ig-impact>div>span{max-width:100%}
html[data-access-scale] .ig-impact>p{text-align:left}
html[data-access-contrast=true] .ig-value .ig-impact,html[data-access-contrast=true] .ig-value .ig-detail{border-color:var(--access-ink)}
html[data-access-contrast=true] .ig-value :is(strong,summary){color:var(--access-ink);-webkit-text-fill-color:var(--access-ink)}
@media(prefers-reduced-motion:reduce){.ig-detail summary>span{transition:none}}
html[data-access-motion=true] .ig-detail summary>span{transition:none}
@media(forced-colors:active){.ig-impact,.ig-detail{border-color:CanvasText}.ig-value :is(strong,summary){color:CanvasText}}

/* October review: a shared left edge for each industry title, introduction and action. */
.ip-page .ip-cover-intro{display:grid;grid-template-columns:minmax(0,1fr);justify-items:start;align-items:start}
.ip-page .ip-cover-intro h1{width:100%;padding:0;margin:0;text-indent:0;text-align:left}
.ip-page .ip-cover-context.ip-cover-context-no-promise{display:block;width:100%;margin-top:26px}
.ip-page .ip-cover-context-no-promise .ip-cover-copy{display:flex;flex-direction:column;align-items:flex-start;width:100%;max-width:760px;margin:0;padding:0}
.ip-page .ip-hero-cover .ip-hero-lead{width:100%;max-width:760px;margin:0;padding:0;text-align:left}
.ip-page .ip-hero-cover .ip-explore{margin-left:0;align-self:flex-start}
.np-work-domains #np-domains-title{max-width:1050px;text-wrap:balance}

/* A common editorial grid balances the sector name with its introduction. */
.ip-page .ip-hero.ip-hero-cover{padding-top:160px}
.ip-page .ip-cover-intro{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(40px,5vw,80px);align-items:end;padding-top:0;padding-bottom:64px}
.ip-page .ip-cover-intro h1,.ip-page[data-sector="higher-education"] .ip-hero-cover h1{font-size:clamp(64px,7.4vw,112px);line-height:1.02;letter-spacing:-.055em;max-width:100%;text-wrap:balance;overflow-wrap:normal}
.ip-page .ip-cover-context.ip-cover-context-no-promise{margin-top:0;max-width:510px}
.ip-page .ip-cover-context-no-promise .ip-cover-copy{max-width:510px}
.ip-page .ip-hero-cover .ip-hero-lead{font-size:18px;line-height:1.65;max-width:510px}
.ip-page .ip-hero-cover .ip-explore{margin-top:25px;min-height:52px}
.ip-page .ig-heading{margin-bottom:44px}
.ip-page .ig-step-copy h3{margin-top:0}
@media(max-width:1050px){.ip-page .ip-cover-intro{gap:36px}.ip-page .ip-cover-intro h1,.ip-page[data-sector="higher-education"] .ip-hero-cover h1{font-size:clamp(62px,7.1vw,80px)}.ip-page .ip-hero-cover .ip-hero-lead{font-size:17px}}
@media(max-width:800px){.ip-page .ip-hero.ip-hero-cover{padding-top:134px}.ip-page .ip-cover-intro{grid-template-columns:1fr;gap:26px;align-items:start;padding-bottom:42px}.ip-page .ip-cover-intro h1,.ip-page[data-sector="higher-education"] .ip-hero-cover h1{font-size:clamp(48px,9.2vw,72px);text-wrap:initial}.ip-page .ip-cover-context.ip-cover-context-no-promise,.ip-page .ip-cover-context-no-promise .ip-cover-copy,.ip-page .ip-hero-cover .ip-hero-lead{max-width:590px}.ip-page .ip-hero-cover .ip-explore{margin-top:24px}}
@media(max-width:450px){.ip-page .ip-hero.ip-hero-cover{padding-top:120px}.ip-page .ip-cover-intro{gap:23px;padding-bottom:34px}.ip-page .ip-cover-intro h1,.ip-page[data-sector="higher-education"] .ip-hero-cover h1{font-size:clamp(42px,11.7vw,53px);letter-spacing:-.05em}.ip-page .ip-hero-cover .ip-hero-lead{font-size:17px}.ip-page .ip-hero-cover .ip-explore{font-size:13px}}
html[data-access-scale] .ip-page .ip-cover-intro{grid-template-columns:1fr;gap:28px;align-items:start}
html[data-access-scale] .ip-page .ip-cover-intro h1{font-size:clamp(40px,7vw,100px);overflow-wrap:anywhere}
