@font-face{font-family:GVInter;src:url("../fonts/Inter-VariableFont_opszwght.ttf") format("truetype");font-style:normal;font-weight:100 900;font-display:swap}
.gv-page{margin:0;background:#d7e8f0;color:#0e323a;font-family:GVInter,Inter,Arial,sans-serif}
.gv-page .case-navigation{background:#d7e8f0;color:#0e323a}
.gv-page *{box-sizing:border-box}
.gv-page .new-navbar{position:relative;background:#d7e8f0;z-index:2}
.gv-page .new-nav__row{max-width:1600px;margin:auto}
.gv-page img{display:block;max-width:100%}
.gv-page p,.gv-page h1,.gv-page h2,.gv-page h3,.gv-page figure,.gv-page dl{margin:0}
.gv-page h1{font-size:clamp(3rem,4.2vw,4.25rem);line-height:1.14;letter-spacing:-.03em;font-weight:650}
.gv-page h2{font-size:clamp(2.35rem,3.1vw,3rem);line-height:1.09;letter-spacing:-.03em;font-weight:650}
.gv-page h3{font-size:clamp(2rem,2.7vw,2.75rem);line-height:1.1;letter-spacing:-.03em;font-weight:650}
.gv-section{max-width:1600px;margin:auto;padding:80px}
.gv-eyebrow{font-size:12px;line-height:1.3;letter-spacing:-.025em;color:#575757;font-weight:350;margin-bottom:16px!important}
.gv-copy-narrow{max-width:680px}
.gv-intro .gv-lead{max-width:640px;margin-top:22px;font-size:20px;line-height:1.4;letter-spacing:-.02em;color:#111}
.gv-intro .gv-lead+.gv-lead{margin-top:24px}
.gv-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:48px!important;font-size:12px;letter-spacing:-.02em}
.gv-facts dt{color:#575757;font-weight:350;margin-bottom:8px}
.gv-facts dd{margin:0;color:#111;line-height:1.6}
.gv-challenge{padding-top:0}
.gv-hero-art{position:relative;aspect-ratio:1409/762;border-radius:33px;overflow:hidden}
.gv-hero-bg{width:100%;height:100%;object-fit:cover}
.gv-hero-phone{position:absolute;height:80%;width:auto;top:15.8%;left:50%;transform:translateX(-50%);border-radius:8%}
.gv-two-column{display:block;max-width:900px;margin-top:80px}
.gv-prose{max-width:700px;padding-top:28px}
.gv-prose p,.gv-feature-text>p:not(.gv-eyebrow){font-size:20px;line-height:1.5;letter-spacing:-.015em;margin-bottom:24px}
.gv-prose p+p{font-size:18px;color:#5d5d5d;line-height:1.5}
.gv-journey{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:64px 0 0}
.gv-journey img{height:520px;width:auto;max-width:100%;margin:auto;object-fit:contain}
.gv-journey figcaption,.gv-screens figcaption{font-size:13px;line-height:1.45;color:#0e323a;margin-top:16px}
.gv-journey figcaption span{display:block;color:#5d5d5d;margin-bottom:5px}
.gv-evolution{padding-top:120px}
.gv-evolution .gv-two-column{margin-top:0}
.gv-screen-stage{display:flex;justify-content:center;align-items:flex-start;gap:32px;margin-top:80px}
.gv-screen-stage img{height:420px;width:auto;object-fit:contain;filter:drop-shadow(0 12px 24px #0e323a1c)}
.gv-screen-stage-overlap img:nth-child(3),.gv-screen-stage-overlap img:nth-child(4){margin-top:90px;margin-left:-75px}
.gv-feature{display:grid;grid-template-columns:minmax(250px,30%) 1fr;gap:50px 5%;padding-top:120px}
.gv-feature-text{align-self:start}
.gv-feature-text h2{margin-bottom:24px}
.gv-feature-text>p:not(.gv-eyebrow){font-size:18px;line-height:1.55;color:#1e3f47}
.gv-screens{display:grid;align-items:start;gap:24px}
.gv-screens.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.gv-screens.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.gv-screens img{width:100%;height:auto;max-height:540px;object-fit:contain;filter:drop-shadow(0 10px 20px #0e323a13)}
.gv-screens-second,.gv-subsection,.gv-process,.gv-photo,.gv-brand-mark,.gv-swatch-row{grid-column:1/-1}
.gv-screens-second{margin-top:48px}
.gv-subsection{margin-top:110px}
.gv-subsection .gv-prose{padding-top:40px}
.gv-feature .gv-subsection+.gv-screens{grid-column:1/-1}
.gv-process{display:flex;gap:32px;padding:18px 0;border-top:1px solid #a7c4cd;border-bottom:1px solid #a7c4cd;font-size:14px}
.gv-photo{position:relative;overflow:hidden;border-radius:32px}
.gv-photo>img:first-child{width:100%;aspect-ratio:1706/922;object-fit:cover}
.gv-feature .gv-photo+.gv-screens{grid-column:1/-1}
.gv-offer img{max-height:600px}
.gv-photo-phone .gv-photo-bg{width:100%;height:100%;object-fit:cover}
.gv-photo-phone .gv-photo-overlay{position:absolute;height:78%;width:auto;left:50%;top:10%;transform:translateX(-50%);border-radius:8%}
.gv-brand{background:#0e323a;color:#e9f4f6;padding-top:90px;padding-bottom:120px}
.gv-brand .gv-eyebrow{color:#a6bdc3}
.gv-brand .gv-prose p{color:#e9f4f6}
.gv-brand-mark{display:flex;align-items:center;gap:18px;font-size:42px;font-weight:650}
.gv-brand-mark img{width:60px;height:60px}
.gv-swatch-row{display:flex;gap:8px;margin-top:30px}
.gv-swatch-row span{width:48px;height:24px;background:#092a32}.gv-swatch-row span:nth-child(2){background:#0e4652}.gv-swatch-row span:nth-child(3){background:#176377}.gv-swatch-row span:nth-child(4){background:#4a9cb0}.gv-swatch-row span:nth-child(5){background:#a5d5df}
.gv-brand .gv-two-column{margin-top:100px}
.gv-challenge .gv-prose{padding-top:28px}
.gv-brand-screens{margin-top:80px}
.gv-brand-screens img{max-height:none}
.gv-brand-screens figcaption{color:#e9f4f6}
.gv-ending{padding-top:120px;padding-bottom:120px}
.gv-ending>p:not(.gv-eyebrow){font-size:20px;line-height:1.5;max-width:665px;margin-top:32px}
.gv-ending .gv-facts{border-top:1px solid #a7c4cd;padding-top:30px;margin-top:90px!important}
.gv-back{display:inline-block;margin-top:80px;color:#0e323a;text-decoration:underline;text-underline-offset:5px}
@media(max-width:900px){.gv-section{padding:60px 32px}.gv-challenge{padding-top:0}.gv-two-column{gap:32px;margin-top:60px}.gv-prose{padding-top:0}.gv-journey{grid-template-columns:repeat(2,1fr)}.gv-feature{grid-template-columns:1fr;gap:36px;padding-top:80px}.gv-feature .gv-subsection,.gv-feature .gv-photo,.gv-feature .gv-process,.gv-feature .gv-screens{grid-column:1}.gv-screen-stage img{height:340px}.gv-screen-stage{gap:0}.gv-screen-stage-overlap img:nth-child(3),.gv-screen-stage-overlap img:nth-child(4){margin-left:-55px}.gv-brand{padding-top:80px}}
@media(max-width:600px){.gv-section{padding:48px 20px}.gv-intro{padding-top:60px}.gv-page h1{font-size:43px}.gv-page h2{font-size:36px}.gv-page h3{font-size:32px}.gv-intro .gv-lead,.gv-prose p,.gv-feature-text>p:not(.gv-eyebrow){font-size:17px}.gv-facts{grid-template-columns:repeat(2,1fr);gap:24px;margin-top:40px!important}.gv-challenge{padding-top:0}.gv-hero-art{border-radius:18px;aspect-ratio:1/1}.gv-hero-bg{height:100%;width:100%}.gv-hero-phone{height:77%;top:14%}.gv-two-column{grid-template-columns:1fr;margin-top:52px}.gv-journey{gap:20px}.gv-journey img{height:330px}.gv-screen-stage{overflow:hidden;justify-content:flex-start}.gv-screen-stage img{height:260px}.gv-screen-stage-overlap img:nth-child(3),.gv-screen-stage-overlap img:nth-child(4){margin-top:50px;margin-left:-70px}.gv-screens.three{grid-template-columns:repeat(2,minmax(0,1fr))}.gv-screens.two{gap:16px}.gv-screens{gap:16px}.gv-screens img{max-height:400px}.gv-photo{border-radius:20px}.gv-process{flex-direction:column;gap:14px}.gv-subsection{margin-top:72px}.gv-brand-mark{font-size:30px}.gv-brand-mark img{width:42px;height:42px}.gv-brand .gv-two-column{margin-top:70px}.gv-ending{padding-bottom:80px}}

/* Case study layout mapped from the named Figma sections. */
.gv-evolution{display:grid;grid-template-columns:minmax(0,465px) minmax(0,763px);justify-content:space-between;gap:40px;align-items:start}
.gv-evolution-copy>p:not(.gv-eyebrow){font-size:18px;line-height:1.55;margin-top:24px}
.gv-evolution .gv-screen-stage{position:relative;width:100%;height:auto;aspect-ratio:763/614;margin:0;display:block;overflow:visible}
.gv-evolution .gv-screen-stage img{position:absolute;width:32.24%;height:auto;max-height:none;margin:0;object-fit:contain}
.gv-evolution .gv-screen-stage img:nth-child(1){left:0;top:0}
.gv-evolution .gv-screen-stage img:nth-child(2){left:43.77%;top:0}
.gv-evolution .gv-screen-stage img:nth-child(3){left:23.98%;top:18.73%;margin:0}
.gv-evolution .gv-screen-stage img:nth-child(4){left:67.76%;top:18.73%;margin:0}
.gv-collect,.gv-organise{background:#f2fbff}
.gv-understand{background:#052e3e;color:#eff7f8;row-gap:80px}
.gv-understand .gv-eyebrow,.gv-understand .gv-feature-text>p:not(.gv-eyebrow){color:#d8e9ed}
.gv-understand .gv-feature-text h2,.gv-understand .gv-feature-text h3{color:#eff7f8}
.gv-understand .gv-process{display:flex;flex-direction:column;gap:16px;border:0;margin-top:34px;padding:0;color:#eff7f8}
.gv-understand .gv-photo{grid-column:1/-1}
.gv-understand .gv-photo+.gv-feature-text{grid-column:1;align-self:center}
.gv-understand .gv-photo+.gv-feature-text+.gv-screens{grid-column:2}
.gv-act{background:#d7e8f0}
.gv-feature>.gv-screens.three{grid-template-columns:repeat(3,minmax(0,246px));justify-content:space-between}
.gv-organise-bottom{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,940px) minmax(0,400px);justify-content:space-between;gap:50px;margin-top:48px}
.gv-organise-bottom .gv-screens.three{grid-template-columns:repeat(3,minmax(0,246px));justify-content:space-between}
.gv-organise-bottom .gv-feature-text{padding-top:0}
.gv-brand{background:#052e3e}
.gv-brand-mark,.gv-swatch-row{justify-content:center}
.gv-brand-mark{font-size:clamp(60px,9vw,150px);gap:45px;letter-spacing:-.03em}
.gv-brand-mark img{width:clamp(70px,12vw,185px);height:clamp(70px,12vw,185px)}
.gv-swatch-row{gap:24px;margin-top:40px}
.gv-swatch-row span{width:112px;height:80px;border:1px solid #5d5d5d;border-radius:16px}
.gv-brand-row{display:grid;grid-template-columns:minmax(0,465px) minmax(0,700px);justify-content:space-between;gap:64px;align-items:start;margin-top:136px}
.gv-brand-row-reverse{grid-template-columns:minmax(0,700px) minmax(0,465px)}
.gv-brand-row .gv-prose{padding-top:24px}
.gv-brand-row .gv-prose p{font-size:18px;line-height:1.55;color:#eff7f8}
.gv-brand-row .gv-screens{margin:0}
.gv-brand-row .gv-screens img{max-height:560px}
.gv-brand-row-reverse .gv-screens img{max-height:410px}
.gv-feature-text h3,.gv-brand-copy h3{margin-bottom:24px}
.gv-business-visual{align-self:center;overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 24px 60px #0004}
.gv-business-visual img{width:100%;height:auto;display:block}
.gv-evolution .gv-screen-stage::before,.gv-collect>.gv-screens::before,.gv-organise>.gv-screens::before,.gv-act .gv-offer::before{content:"";position:absolute;width:360px;height:360px;background:url("../images/genie-vault-2026/imgEllipse125.svg") center/contain no-repeat;pointer-events:none;z-index:0}
.gv-evolution .gv-screen-stage::before{left:15%;top:0}
.gv-collect>.gv-screens,.gv-organise>.gv-screens,.gv-act .gv-offer{position:relative}
.gv-collect>.gv-screens::before{left:-10%;top:-15%}
.gv-organise>.gv-screens::before{right:0;top:-18%}
.gv-act .gv-offer::before{left:18%;top:0}
.gv-evolution .gv-screen-stage img{z-index:1}
.gv-collect>.gv-screens>* ,.gv-organise>.gv-screens>* ,.gv-act .gv-offer>*{position:relative;z-index:1}
@media(max-width:1000px){.gv-evolution,.gv-brand-row,.gv-brand-row-reverse{grid-template-columns:1fr}.gv-evolution .gv-screen-stage{max-width:763px}.gv-feature>.gv-screens.three,.gv-organise-bottom .gv-screens.three{grid-template-columns:repeat(3,minmax(0,1fr))}.gv-organise-bottom{grid-template-columns:1fr;gap:48px}.gv-brand-row{margin-top:100px}.gv-brand-mark{gap:20px}.gv-swatch-row{gap:10px}.gv-swatch-row span{width:14vw;height:8vw}.gv-understand .gv-photo+.gv-feature-text+.gv-screens{grid-column:1}}
@media(max-width:600px){.gv-evolution{gap:50px}.gv-evolution .gv-screen-stage{width:calc(100% + 20px)}.gv-understand{row-gap:44px}.gv-feature>.gv-screens.three,.gv-organise-bottom .gv-screens.three{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.gv-brand-mark{font-size:36px;gap:12px}.gv-brand-mark img{width:42px;height:42px}.gv-brand-row{margin-top:70px;gap:32px}.gv-swatch-row span{border-radius:8px}.gv-organise-bottom{margin-top:25px}}

/* Keep section colours edge to edge while the content stays aligned to the design grid. */
.gv-section{max-width:none;padding-left:max(80px,calc((100% - 1440px)/2));padding-right:max(80px,calc((100% - 1440px)/2))}
.gv-hero-art,.gv-photo-phone{aspect-ratio:1442/780}
.gv-hero-art img,.gv-photo-phone .gv-photo-bg{width:100%;height:100%;object-fit:cover}
.gv-photo-phone .gv-photo-bg{transform:scale(1.05)}
.gv-business-visual{box-shadow:none;background:transparent}
.gv-ending{padding-bottom:48px}
.gv-back{margin-top:48px}
.gv-page .gv-footer{background-color:#d7e8f0}
.gv-page{--site-gutter:80px}
@media(max-width:900px){.gv-section{padding-left:32px;padding-right:32px}}
@media(max-width:900px){.gv-page{--site-gutter:32px}}
@media(max-width:600px){.gv-page{--site-gutter:20px}.gv-section{padding-left:20px;padding-right:20px}.gv-hero-art,.gv-photo-phone{aspect-ratio:1442/780}.gv-ending{padding-bottom:48px}}

/* Keep case study body copy at the site's standard paragraph size. */
.gv-page .gv-prose p,
.gv-page .gv-feature-text>p:not(.gv-eyebrow),
.gv-page .gv-evolution-copy>p:not(.gv-eyebrow),
.gv-page .gv-ending>p:not(.gv-eyebrow){font-size:16px;font-weight:300;line-height:1.4;letter-spacing:-.3px}

/* Put the Genie Vision explanation before its full-width image. */
.gv-brand-row-reverse{display:flex;flex-direction:column;align-items:stretch;gap:44px}
.gv-brand-row-reverse .gv-brand-copy{width:100%;max-width:700px}
.gv-brand-row-reverse .gv-business-visual{width:100%;align-self:stretch}
.gv-brand-row-reverse .gv-business-visual img{width:100%;max-width:none;height:auto}
.gv-challenge .gv-prose p,
.gv-collect .gv-feature-text>p:not(.gv-eyebrow),
.gv-organise .gv-feature-text>p:not(.gv-eyebrow),
.gv-act .gv-feature-text>p:not(.gv-eyebrow){color:#0e323a}
