:root{
  --green:#154f3b;
  --green-h:#0f3c2c;
  --green-mid:#2aa07f;
  --green-lt:#7fd3bd;
  --graphite:#17231f;
  --ink:#111614;
  --bg:#fbfcfb;
  --bg-hero:#edf4ef;
  --bg-sect:#eef4f0;
  --white:#fff;
  --border:#dfe7e1;
  --border-s:#cbd8cf;
  --text:#17231f;
  --muted:#53635b;
  --soft:#6c7a72;
  --gold:#83672a;
  --warn:#b54a0e;
  --r-sm:6px;
  --r:10px;
  --r-lg:14px;
  --r-xl:20px;
  --sh-sm:0 2px 8px rgba(21,79,59,.06),0 1px 3px rgba(0,0,0,.04);
  --sh-md:0 4px 16px rgba(21,79,59,.08),0 2px 6px rgba(0,0,0,.04);
  --sh-lg:0 8px 32px rgba(21,79,59,.12),0 2px 8px rgba(0,0,0,.06);
  --f-disp:'Sora',system-ui,sans-serif;
  --f-body:'Manrope',system-ui,sans-serif;
}

body.apps-page{
  background:var(--bg)!important;
  color:var(--text)!important;
  font-family:var(--f-body)!important;
  font-size:16px;
  line-height:1.6;
}

.apps-page a:hover{text-decoration:none}
.apps-container{max-width:1280px;margin:0 auto;padding:0 clamp(16px,4vw,48px)}

/* Header and utility navigation match the commercial site. */
.apps-page .util-bar{
  position:fixed;top:0;left:0;right:0;z-index:101;height:36px;
  display:flex;align-items:center;background:rgba(251,252,251,.96);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border);transition:transform .24s cubic-bezier(.2,.75,.25,1)
}
.apps-page .util-bar.ub-hidden{transform:translateY(calc(-100% - 1px));pointer-events:none}
.apps-page .util-inner{display:flex;align-items:center;justify-content:space-between;width:100%}
.apps-page .util-left,.apps-page .util-right{display:flex;align-items:center}
.apps-page .ub-lang{display:flex;align-items:center;gap:2px}
.apps-page .ub-lang a,.apps-page .ub-btn{
  color:var(--muted);font-family:var(--f-body);font-size:11.5px;font-weight:600;
  line-height:1;text-decoration:none;padding:4px 8px;border-radius:4px
}
.apps-page .ub-lang a{font-size:11px;font-weight:800;letter-spacing:.04em}
.apps-page .ub-lang .ub-active,.apps-page .ub-lang a:hover,.apps-page .ub-btn:hover{color:var(--green);background:var(--bg-hero)}
.apps-page .ub-pipe{font-size:10px;color:var(--border-s)}
.apps-page .ub-btn{display:inline-flex;align-items:center;gap:5px}
.apps-page .ub-sep{width:1px;height:14px;background:var(--border);margin:0 3px}

.apps-page .site-header{
  position:sticky!important;top:36px!important;z-index:100!important;margin-top:36px!important;
  background:rgba(251,252,251,.96)!important;backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;border-bottom:1px solid var(--border)!important;
  transition:top .24s cubic-bezier(.2,.75,.25,1)
}
.apps-page .site-header.util-collapsed{top:0!important}
.apps-page .apps-nav-inner{height:68px!important;padding:0!important;gap:32px!important}
.apps-page .apps-logo{gap:0!important;min-width:0}
.apps-page .apps-logo svg{width:auto!important;height:32px!important}
.apps-page .apps-logo-copy{display:none}
.apps-page .apps-desktop-nav{gap:2px!important;margin-left:0!important;flex:1}
.apps-page .apps-desktop-nav a{
  color:var(--muted)!important;font-family:var(--f-body)!important;font-size:14px!important;
  font-weight:500!important;padding:6px 12px;border-radius:var(--r-sm)
}
.apps-page .apps-desktop-nav a:hover,.apps-page .apps-desktop-nav a[aria-current="page"]{color:var(--green)!important;background:var(--bg-hero)}
.apps-page .apps-desktop-nav a span{display:none}
.apps-page .apps-client-link{display:none!important}
.apps-page .apps-demo{
  height:auto!important;padding:9px 20px!important;border-radius:var(--r-sm)!important;
  background:var(--green)!important;font-family:var(--f-body)!important;font-size:14px!important;
  font-weight:600!important
}
.apps-page .apps-demo:hover{background:var(--green-h)!important}
.apps-menu-btn{display:none;background:none;border:0;padding:6px;color:var(--text)}
.apps-mobile-nav{display:none;flex-direction:column;gap:2px;padding:12px 16px 16px;border-top:1px solid var(--border);background:var(--white)}
.apps-mobile-nav.open{display:flex}
.apps-mobile-nav a{font-size:15px;font-weight:500;color:var(--text);padding:10px 12px;border-radius:var(--r-sm)}
.apps-mobile-nav a:hover{background:var(--bg-hero);color:var(--green)}
.apps-mobile-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.apps-mobile-actions a{border:1px solid var(--border-s)}

/* Page rhythm, type scale and surfaces. */
.apps-page main>section:not(:first-child):not(:last-child){padding:clamp(64px,8vw,96px) 0!important}
.apps-page main>section>div[style*="max-width:1280px"]{padding-left:clamp(16px,4vw,48px)!important;padding-right:clamp(16px,4vw,48px)!important}
.apps-page main>section:nth-of-type(2n){background:var(--white)!important}
.apps-page main>section:nth-of-type(2n+3){background:var(--bg-sect)!important;border-color:var(--border)!important}
.apps-page main>section h2{
  font-family:var(--f-disp)!important;font-size:clamp(28px,3.5vw,38px)!important;
  font-weight:700!important;line-height:1.2!important;letter-spacing:-.02em!important;color:var(--graphite)!important
}
.apps-page main>section>div>p{
  font-family:var(--f-body)!important;font-size:16px!important;line-height:1.65!important;color:var(--muted)!important
}
.apps-page main>section>div>div[style*="text-transform:uppercase"]{
  font-size:11px!important;letter-spacing:.12em!important;color:var(--gold)!important
}

/* Normalize the editorial scale inherited from the original mockup.
   Device UI is intentionally excluded so its screens remain legible. */
.apps-page main :is(p,div,span)[style*="font-size:40px"]:not(.iphone-17-pro-max *){font-size:clamp(28px,3.2vw,36px)!important;letter-spacing:-.02em!important}
.apps-page main :is(p,div,span)[style*="font-size:30px"]:not(.iphone-17-pro-max *){font-size:24px!important;letter-spacing:-.02em!important}
.apps-page main :is(p,div,span)[style*="font-size:26px"]:not(.iphone-17-pro-max *){font-size:22px!important;letter-spacing:-.02em!important}
.apps-page main :is(p,div,span)[style*="font-size:23px"]:not(.iphone-17-pro-max *){font-size:18px!important;letter-spacing:-.01em!important}
.apps-page main :is(p,div,span)[style*="font-size:22px"]:not(.iphone-17-pro-max *){font-size:18px!important;letter-spacing:-.01em!important}
.apps-page main :is(p,div,span)[style*="font-size:20px"]:not(.iphone-17-pro-max *){font-size:16px!important}
.apps-page main :is(p,div,span)[style*="font-size:19px"]:not(.iphone-17-pro-max *){font-size:17px!important}
.apps-page main :is(p,div,span)[style*="font-size:18px"]:not(.iphone-17-pro-max *){font-size:16px!important}
.apps-page main :is(p,div,span)[style*="font-size:17px"]:not(.iphone-17-pro-max *){font-size:16px!important}
.apps-page main :is(p,div,span)[style*="font-size:16.5px"]:not(.iphone-17-pro-max *){font-size:15px!important}

/* iPhone 17 Pro Max: 78 x 163.4 mm body and 1320 x 2868 display proportions. */
.iphone-17-pro-max{position:relative;overflow:visible}
.iphone-17-pro-max--hero{width:263px!important;height:551px!important}
.iphone-17-pro-max--compact{width:212px!important;height:444px!important}
.iphone-17-pro-max-frame{
  position:relative;width:424px!important;height:888px!important;border:9px solid #26313a!important;
  border-radius:55px!important;background:#090b0c!important;overflow:visible!important;
  box-shadow:0 28px 64px rgba(11,17,24,.30),0 5px 14px rgba(11,17,24,.18),inset 0 0 0 2px rgba(255,255,255,.12)!important
}
.iphone-17-pro-max-screen{
  position:relative;width:100%!important;height:100%!important;border-radius:46px!important;
  overflow:hidden!important;background:#111614;box-shadow:inset 0 0 0 2px #050606
}
.iphone-17-dynamic-island{
  position:absolute;z-index:30;top:15px;left:50%;width:126px;height:35px;transform:translateX(-50%);
  border-radius:22px;background:#050606;box-shadow:0 1px 2px rgba(255,255,255,.08),0 2px 5px rgba(0,0,0,.25)
}
.iphone-17-dynamic-island span{
  position:absolute;right:11px;top:11px;width:12px;height:12px;border-radius:50%;
  background:radial-gradient(circle at 36% 34%,#345071 0 13%,#142438 25%,#071018 55%,#020303 76%)
}
.iphone-17-pro-max-frame::before,.iphone-17-pro-max-frame::after,.iphone-17-action-button{
  content:"";position:absolute;display:block;background:#26313a;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)
}
.iphone-17-pro-max-frame::before{left:-14px;top:154px;width:5px;height:92px;border-radius:4px 0 0 4px}
.iphone-17-pro-max-frame::after{right:-14px;top:184px;width:5px;height:112px;border-radius:0 4px 4px 0}
.iphone-17-action-button{left:-14px;top:92px;width:5px;height:40px;border-radius:4px 0 0 4px}
.apps-page .card-h{border-color:var(--border)!important;border-radius:var(--r-lg)!important;box-shadow:var(--sh-sm)!important}
.apps-page .card-h:hover{border-color:rgba(21,79,59,.3)!important;box-shadow:var(--sh-md)!important;transform:translateY(-2px)}

/* The first panel now follows the light hero used by the rest of the site. */
.apps-page .apps-hero{background:var(--bg-hero)!important;padding:0!important}
.apps-page .apps-hero>div[style*="position:absolute"]{display:none!important}
.apps-page .apps-hero-inner{padding-top:clamp(64px,8vw,100px)!important;padding-bottom:clamp(64px,8vw,88px)!important;gap:clamp(36px,5vw,72px)!important}
.apps-page .apps-hero h1{
  color:var(--graphite)!important;font-family:var(--f-disp)!important;font-size:clamp(34px,4.5vw,54px)!important;
  font-weight:700!important;line-height:1.1!important;letter-spacing:-.02em!important;margin-top:20px!important
}
.apps-page .apps-hero h1 span{color:var(--green)!important}
.apps-page .apps-hero p{font-size:clamp(15px,1.8vw,17px)!important;color:var(--muted)!important;max-width:560px!important}
.apps-page .apps-hero-eyebrow{font-size:11px!important;letter-spacing:.12em!important;color:var(--gold)!important}
.apps-page .apps-hero-primary{
  height:auto!important;padding:12px 24px!important;border-radius:var(--r)!important;background:var(--green)!important;
  box-shadow:none!important;font-family:var(--f-body)!important;font-size:15px!important;font-weight:600!important
}
.apps-page .apps-hero-primary:hover{background:var(--green-h)!important}
.apps-page .apps-hero-secondary{
  height:auto!important;padding:11px 20px!important;border-radius:var(--r)!important;background:transparent!important;
  border:1.5px solid var(--border-s)!important;color:var(--text)!important;font-family:var(--f-body)!important;
  font-size:15px!important;font-weight:600!important
}
.apps-page .apps-hero-stats{border-top-color:var(--border-s)!important;margin-top:36px!important;padding-top:26px!important;gap:28px!important}
.apps-page .apps-hero-stats>div>div:first-child{color:var(--green)!important;font-size:clamp(24px,3vw,32px)!important}
.apps-page .apps-hero-stats>div>div:nth-child(2){color:var(--green-mid)!important}
.apps-page .apps-hero-stats>div>div:nth-child(3){color:var(--soft)!important}

/* Retain one graphite evidence band, as on the Industries section. */
.apps-page main>section:nth-of-type(7){background:var(--graphite)!important}
.apps-page main>section:nth-of-type(7) h2{color:var(--white)!important}
.apps-page main>section:nth-of-type(7)>div>p{color:rgba(255,255,255,.62)!important}
.apps-page main>section:nth-of-type(7)>div>div[style*="text-transform:uppercase"]{color:var(--green-lt)!important}

.apps-page main>section.apps-cta{background:var(--green)!important;padding:clamp(64px,8vw,100px) 0!important}
.apps-page .apps-cta>div[style*="position:absolute"]{display:none!important}
.apps-page .apps-cta h2{font-size:clamp(28px,4vw,46px)!important;color:var(--white)!important;font-weight:700!important}
.apps-page .apps-cta h2 span{color:var(--green-lt)!important}
.apps-page .apps-cta p{font-size:17px!important;color:rgba(255,255,255,.7)!important}
.apps-page .apps-cta>div>div[style*="text-transform:uppercase"]{color:rgba(255,255,255,.65)!important}
.apps-page .apps-cta .apps-hero-primary{background:var(--white)!important;color:var(--green)!important}
.apps-page .apps-cta .apps-hero-primary svg{stroke:var(--green)}
.apps-page .apps-cta .apps-hero-secondary{border-color:rgba(255,255,255,.3)!important;color:rgba(255,255,255,.85)!important}

/* Footer structure and typography mirror the rest of GEP. */
.apps-page .site-footer{background:var(--graphite)!important;padding:56px 0 0!important;color:rgba(255,255,255,.6)}
.apps-page .site-footer>div{padding-left:clamp(16px,4vw,48px)!important;padding-right:clamp(16px,4vw,48px)!important}
.apps-page .site-footer>div>div:first-child{display:grid!important;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px!important;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.08)}
.apps-page .site-footer>div>div:first-child>div{min-width:0!important;max-width:none!important}
.apps-page .site-footer a{font-size:13.5px!important;color:rgba(255,255,255,.6)!important;text-decoration:none!important}
.apps-page .site-footer a:hover{color:rgba(255,255,255,.9)!important}
.apps-page .site-footer>div>div:first-child>div>div:first-child:not([style*="display:flex"]){font-size:10.5px!important;color:rgba(255,255,255,.35)!important}
.apps-page .site-footer>div>div:nth-child(2){display:none!important}
.apps-page .site-footer>div>div:last-child{font-size:12px!important;padding:20px 0!important;color:rgba(255,255,255,.3)!important}

@media(max-width:840px){
  .apps-page .util-bar{display:none}
  .apps-page .site-header{top:0!important;margin-top:0!important}
  .apps-page .apps-desktop-nav,.apps-page .apps-client-link,.apps-page .apps-demo{display:none!important}
  .apps-menu-btn{display:block;margin-left:auto}
  .apps-page .apps-nav-inner{height:68px!important;padding:0!important}
  .apps-page .apps-logo svg{width:auto!important;height:32px!important}
  .apps-page .apps-hero-inner{flex-direction:column!important}
  .apps-page .apps-hero-inner>div:last-child{order:-1}
  .apps-page .apps-hero h1,.apps-page .apps-hero p,.apps-page .apps-hero-eyebrow{text-align:center}
  .apps-page .apps-hero p{margin-left:auto!important;margin-right:auto!important}
  .apps-page .apps-hero-inner>div:first-child>div[style*="display:flex"]{justify-content:center}
}

@media(max-width:768px){
  .apps-page .site-footer>div>div:first-child{grid-template-columns:1fr 1fr!important;gap:32px!important}
  .apps-page .site-footer>div>div:first-child>div:first-child{grid-column:1/-1}
}

@media(max-width:480px){
  .apps-page .site-footer>div>div:first-child{grid-template-columns:1fr!important}
  .apps-page .apps-logo svg{width:auto!important;height:30px!important}
}

@media(prefers-reduced-motion:reduce){
  .apps-page .util-bar,.apps-page .site-header,.apps-page .card-h{transition:none!important}
}
