.sap-page{background:#05090f;overflow-x:hidden}
.sap-shell{max-width:1800px;margin:0 auto;position:relative;isolation:isolate;overflow:clip;background:radial-gradient(ellipse at 78% 7%,#10274738,transparent 34%),#05090f}
.sap-page .main-nav a{display:inline-block;position:relative}
.sap-page .main-nav a[aria-current="page"]{color:#fff}
.sap-page .main-nav a[aria-current="page"]:after{content:"";position:absolute;left:calc(50% - 3px);bottom:0;width:6px;height:6px;border-radius:50%;background:#70bcff;box-shadow:0 0 16px #5bb6ff}
.sap-page .main-nav a:hover{color:#fff}
.sap-container{width:min(100% - 2*clamp(26px,5vw,88px),1440px);margin-inline:auto}
.sap-hero{position:relative;isolation:isolate;min-height:680px;display:flex;align-items:center;padding:45px clamp(26px,5vw,88px) 90px;overflow:hidden;border-bottom:1px solid #8bc9ff25}
.sap-hero:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 70% 42%,#133e7b24,transparent 46%),linear-gradient(90deg,#05090f 0%,#05090fdf 32%,#05090f30 66%,#05090f14 100%)}
@media(min-width:1801px){
  .sap-shell{background:linear-gradient(90deg,#05090f,transparent 8%,transparent 92%,#05090f),radial-gradient(ellipse at 78% 7%,#10274738,transparent 34%),#05090f}
  .sap-hero:before{background:linear-gradient(90deg,#05090f,transparent 8%,transparent 92%,#05090f),radial-gradient(ellipse at 70% 42%,#133e7b24,transparent 46%),linear-gradient(90deg,#05090f 0%,#05090fdf 32%,#05090f30 66%,#05090f14 100%)}
}
.sap-hero-art{position:absolute;z-index:-2;inset:0;pointer-events:none;background-image:url('assets/sap-portal-v1.webp');background-repeat:no-repeat;background-size:cover;background-position:center top;opacity:.92;mask-image:linear-gradient(180deg,#000 0%,#000 72%,transparent 98%)}
.sap-hero-copy{position:relative;z-index:1;width:min(820px,68%);padding:10px 0 0}
.sap-kicker,.sap-label{text-transform:uppercase;letter-spacing:.22em;font-size:12px;line-height:1.5;font-weight:650}
.sap-kicker{display:flex;align-items:center;gap:13px;margin:0 0 30px;color:#b5dfff}
.sap-kicker-mark{display:block;width:7px;height:7px;border-radius:50%;background:#67b8ff;box-shadow:0 0 18px #5aaeff}
.sap-hero h1{font-size:clamp(56px,5.45vw,88px);line-height:1.06;letter-spacing:-.052em;text-wrap:balance;text-shadow:0 4px 32px #02050aca}
.sap-hero h1 span{color:#8ac8ff;display:block}
.sap-hero-lead{max-width:640px;color:#d7e1f1;font-size:clamp(18px,1.55vw,22px);line-height:1.65;margin:30px 0 0;text-shadow:0 2px 15px #01050adc}
.sap-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:28px;margin-top:38px}
.sap-hero-actions .primary-button,.sap-contact .primary-button{font-size:16px;padding:19px 29px}
.sap-hero-actions .text-link{font-size:15px}
.sap-hero-meta{display:flex;gap:0;flex-wrap:wrap;margin-top:62px;color:#b8cde5;font-size:12px;letter-spacing:.15em;text-transform:uppercase}
.sap-hero-meta span+span:before{content:"/";color:#6b8ead;margin:0 16px}
.sap-hero-index{position:absolute;right:clamp(26px,5vw,88px);bottom:38px;display:flex;align-items:center;gap:16px;color:#9bb5d0;font-size:10px;letter-spacing:.2em}
.sap-index-line{width:58px;height:1px;background:#71baff66}
.sap-label{color:#74bdf9;margin:0 0 24px}
.sap-services{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(54px,8vw,140px);padding-block:135px 150px}
.sap-section-intro{max-width:520px}
.sap-section-intro h2,.sap-continuity h2,.sap-process h2,.sap-contact h2{font-size:clamp(42px,4.4vw,69px);line-height:1.13;letter-spacing:-.045em;margin:0;font-weight:750;text-wrap:balance}
.sap-section-intro h2 em,.sap-continuity h2 em,.sap-process h2 em,.sap-contact h2 em{font-style:normal;color:#8ac8ff}
.sap-section-intro>p:last-child,.sap-continuity-copy>p:last-child,.sap-process-heading>p:last-child,.sap-contact-copy>p:last-child{font-size:18px;line-height:1.75;color:#bfccdf;max-width:590px;margin:28px 0 0}
.sap-service-list{border-top:1px solid #8bc9ff3d}
.sap-service{display:grid;grid-template-columns:42px minmax(0,1fr) 28px;gap:20px;align-items:start;padding:29px 0 30px;border-bottom:1px solid #8bc9ff2a;transition:padding .28s,background .28s}
.sap-service:hover{padding-left:12px;background:linear-gradient(90deg,#4ba8ff0b,transparent 70%)}
.sap-service-number,.sap-service-symbol{color:#77bdff;font-size:13px;letter-spacing:.1em;padding-top:7px}
.sap-service-symbol{font-size:22px;line-height:1.2;text-align:right;opacity:.65;transition:transform .3s,opacity .3s}
.sap-service:hover .sap-service-symbol{opacity:1;transform:translate(3px,-3px)}
.sap-service h3{font-size:22px;letter-spacing:-.02em;margin:0 0 10px;line-height:1.3;font-weight:650}
.sap-service p{font-size:15px;line-height:1.7;color:#b9c7dc;max-width:500px;margin:0}
.sap-continuity{position:relative;isolation:isolate;overflow:hidden;margin:0 clamp(15px,2vw,32px);border:1px solid #71baff24;border-radius:20px;background:radial-gradient(ellipse at 84% 10%,#1748846b,transparent 42%),linear-gradient(135deg,#0c1728,#07101b 58%,#090d16)}
.sap-continuity:before{content:"";position:absolute;z-index:-1;inset:0;opacity:.28;pointer-events:none;background-image:linear-gradient(#539dff14 1px,transparent 1px),linear-gradient(90deg,#539dff14 1px,transparent 1px);background-size:58px 58px;mask-image:linear-gradient(90deg,transparent,#000 46%,#000)}
.sap-continuity:after{content:"";position:absolute;top:-155px;right:7%;width:390px;height:390px;border:1px solid #78bdff26;border-radius:50%;box-shadow:0 0 0 70px #73bfff08,0 0 0 140px #73bfff05;pointer-events:none}
.sap-continuity-inner{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(50px,10vw,150px);padding-block:105px 110px;z-index:1}
.sap-continuity-copy{max-width:630px}
.sap-continuity h2{font-size:clamp(39px,4.15vw,64px)}
.sap-perspective-grid{display:grid;align-content:center;gap:0}
.sap-perspective{display:grid;grid-template-columns:56px minmax(0,1fr);gap:0 16px;padding:28px 0;border-bottom:1px solid #8bc9ff38}
.sap-perspective:first-child{border-top:1px solid #8bc9ff38}
.sap-perspective-glyph{grid-row:span 2;color:#73baff;font-size:11px;letter-spacing:.12em;padding-top:5px}
.sap-perspective h3{font-size:22px;line-height:1.3;margin:0 0 9px;font-weight:650}
.sap-perspective p{font-size:15px;color:#c0cde0;line-height:1.7;margin:0;max-width:360px}
.sap-process{padding-block:145px 140px}
.sap-process-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.55fr);gap:25px 90px;align-items:end}
.sap-process-heading .sap-label{grid-column:1 / -1;margin-bottom:0}
.sap-process-heading h2{max-width:760px}
.sap-process-heading>p:last-child{margin:0 0 3px;font-size:17px}
.sap-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:72px;border-top:1px solid #8bc9ff3a}
.sap-step{position:relative;padding:32px 36px 0 0}
.sap-step:not(:first-child){padding-left:34px;border-left:1px solid #8bc9ff25}
.sap-step:before{content:"";position:absolute;top:-4px;left:0;width:7px;height:7px;border-radius:50%;background:#79beff;box-shadow:0 0 16px #65b6ff}
.sap-step:not(:first-child):before{left:34px}
.sap-step-count{color:#74bdff;letter-spacing:.14em;font-size:12px}
.sap-step h3{font-size:27px;font-weight:650;letter-spacing:-.025em;margin:22px 0 13px}
.sap-step p{font-size:15px;line-height:1.75;color:#bbcadd;max-width:350px;margin:0}
.sap-contact{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:end;justify-content:space-between;gap:45px;padding:76px 68px;margin-bottom:58px;border:1px solid #ff8a542e;border-radius:20px;background:linear-gradient(115deg,#111721,#0b1019 72%)}
.sap-contact-glow{position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(ellipse at 74% 135%,#ff571a47,transparent 55%),radial-gradient(ellipse at 10% -25%,#347bc824,transparent 60%)}
.sap-contact .sap-label{color:#ffab88}
.sap-contact h2{max-width:780px;font-size:clamp(40px,4.4vw,69px)}
.sap-contact h2 em{color:#ff8b60}
.sap-contact-copy>p:last-child{max-width:630px;margin-top:23px}
.sap-contact .primary-button{flex:none}
.sap-page .site-footer{padding:0 clamp(26px,5vw,88px) 30px;background:none}
.sap-footer-top{display:flex;justify-content:space-between;gap:24px;color:#b8c9df;font-size:14px}
.sap-footer-top a{display:inline-flex;align-items:center;gap:10px;min-height:44px;transition:color .2s}
.sap-footer-top a:hover{color:#fff}
.sap-page .footer-bottom{margin-top:28px}

@media(max-width:1100px){
  .sap-hero{min-height:630px}
  .sap-hero h1{font-size:clamp(54px,6vw,76px)}
  .sap-services{gap:55px}
  .sap-continuity-inner{gap:50px}
  .sap-contact{align-items:start;flex-direction:column;padding:62px 55px}
}
@media(max-width:900px){
  .sap-hero{min-height:670px;padding:40px 34px 70px}
  .sap-hero-copy{width:75%}
  .sap-hero h1{font-size:clamp(48px,7vw,66px)}
  .sap-hero-lead{font-size:18px}
  .sap-services{grid-template-columns:1fr;gap:40px;padding-block:92px 105px}
  .sap-section-intro{max-width:700px}
  .sap-continuity-inner{grid-template-columns:1fr;gap:55px;padding-block:80px}
  .sap-perspective-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}
  .sap-perspective{display:block;border-top:1px solid #8bc9ff38;padding:24px 0}
  .sap-perspective-glyph{display:block;margin-bottom:18px}
  .sap-process{padding-block:100px}
  .sap-process-heading{grid-template-columns:1fr;gap:18px}
  .sap-process-heading .sap-label{grid-column:auto}
  .sap-process-heading>p:last-child{max-width:620px}
  .sap-contact{padding:56px 45px}
}
@media(max-width:640px){
  .sap-container{width:calc(100% - 40px)}
  .sap-hero{min-height:760px;align-items:start;padding:54px 20px 66px}
  .sap-hero:before{background:linear-gradient(180deg,#05090f 0%,#05090ff0 37%,#05090f42 75%,#05090f 100%)}
  .sap-hero-art{inset:250px 0 0;background-image:url('assets/sap-portal-v1-mobile.webp');background-size:auto 650px;background-position:right -150px top;opacity:.82;mask-image:linear-gradient(180deg,transparent 0%,#000 18%,#000 72%,transparent 98%)}
  .sap-hero-copy{width:100%;padding:0}
  .sap-kicker{font-size:10px;letter-spacing:.13em;margin-bottom:23px}
  .sap-hero h1{font-size:clamp(34px,9.6vw,50px);line-height:1.09;letter-spacing:-.055em;max-width:100%}
  .sap-hero-lead{font-size:16px;line-height:1.62;max-width:370px;margin-top:22px}
  .sap-hero-actions{gap:9px 20px;margin-top:26px}
  .sap-hero-actions .primary-button{font-size:14px;padding:16px 20px}
  .sap-hero-actions .text-link{font-size:13px}
  .sap-hero-meta{font-size:10px;letter-spacing:.1em;margin-top:35px}
  .sap-hero-meta span+span:before{margin:0 10px}
  .sap-hero-index{right:20px;bottom:28px;font-size:9px}
  .sap-services{padding-block:80px 88px;gap:32px}
  .sap-label{font-size:10px;letter-spacing:.19em;margin-bottom:18px}
  .sap-section-intro h2,.sap-continuity h2,.sap-process h2,.sap-contact h2{font-size:clamp(34px,9vw,48px)}
  .sap-section-intro>p:last-child,.sap-continuity-copy>p:last-child,.sap-process-heading>p:last-child,.sap-contact-copy>p:last-child{font-size:15px;line-height:1.7;margin-top:20px}
  .sap-service{grid-template-columns:30px minmax(0,1fr) 20px;gap:10px;padding:24px 0}
  .sap-service h3{font-size:19px}
  .sap-service p{font-size:14px}
  .sap-service-symbol{font-size:18px}
  .sap-continuity{margin:0 10px;border-radius:15px}
  .sap-continuity-inner{padding-block:66px 70px;gap:32px}
  .sap-continuity:after{right:-200px}
  .sap-perspective-grid{grid-template-columns:1fr;gap:0}
  .sap-perspective{padding:24px 0}
  .sap-perspective h3{font-size:20px}
  .sap-process{padding-block:90px}
  .sap-steps{grid-template-columns:1fr;margin-top:42px;border-top:0;border-left:1px solid #8bc9ff3a}
  .sap-step,.sap-step:not(:first-child){padding:0 0 36px 29px;border:0}
  .sap-step:before,.sap-step:not(:first-child):before{top:4px;left:-4px}
  .sap-step:last-child{padding-bottom:0}
  .sap-step h3{font-size:23px;margin:10px 0}
  .sap-step p{font-size:14px}
  .sap-contact{display:block;padding:40px 28px;margin-bottom:38px;border-radius:15px}
  .sap-contact .primary-button{font-size:14px;padding:16px 20px;margin-top:30px;white-space:normal;text-align:center}
  .sap-page .site-footer{padding:0 20px 22px}
  .sap-footer-top{flex-direction:column;gap:5px;font-size:13px}
}
@media(max-width:350px){
  .sap-hero{min-height:785px}
  .sap-hero-actions{align-items:start;flex-direction:column;gap:10px}
  .sap-hero-meta span+span:before{margin:0 6px}
}
@media(prefers-reduced-motion:reduce){
  .sap-service,.sap-service-symbol,.sap-footer-top a{transition:none}
  .sap-service:hover{padding-left:0}
}
@media(prefers-contrast:more){
  .sap-hero-lead,.sap-section-intro>p:last-child,.sap-continuity-copy>p:last-child,.sap-process-heading>p:last-child,.sap-contact-copy>p:last-child,.sap-service p,.sap-perspective p,.sap-step p{color:#fff}
}

/* Reveal content only after JavaScript confirms that scroll observation is available. */
.sap-reveal-ready [data-reveal]{opacity:0;transform:translate3d(0,25px,0)}
.sap-reveal-ready [data-reveal].is-visible{opacity:1;transform:none;transition:opacity .72s ease,transform .72s cubic-bezier(.18,.72,.24,1);transition-delay:var(--reveal-delay,0ms)}
.sap-reveal-ready .sap-service.is-visible{transition:opacity .72s ease,transform .72s cubic-bezier(.18,.72,.24,1),padding .28s,background .28s;transition-delay:var(--reveal-delay,0ms),var(--reveal-delay,0ms),0ms,0ms}
.sap-service:nth-child(2),.sap-perspective:nth-child(2),.sap-step:nth-child(2){--reveal-delay:75ms}
.sap-service:nth-child(3),.sap-step:nth-child(3){--reveal-delay:145ms}
.sap-service:nth-child(4){--reveal-delay:215ms}
@media(prefers-reduced-motion:reduce){.sap-reveal-ready [data-reveal]{opacity:1;transform:none;transition:none}}
