/* Full-footer cloud scene, with a continuous readable veil. */
.footer-clouds{padding-top:0;isolation:isolate;background:#f8faff;border-radius:32px 32px 0 0;margin-top:0}
.footer-clouds>.cloud-field{inset:0;z-index:-2;opacity:.82}
.footer-clouds:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#f8fafff2 0%,#f8faff9c 48%,#f8faff25 100%),linear-gradient(0deg,#f8faffbf 0%,#f8faff94 40%,transparent 75%)}
.footer-scene{min-height:390px;overflow:visible;isolation:auto}.footer-scene:after{display:none}
.footer-invitation{padding-block:68px 60px}.footer-invitation h2{font-size:clamp(48px,6vw,82px);max-width:750px}
.footer-clouds .footer-top,.footer-clouds .footer-bottom{position:relative;background:transparent;border-color:#102d5629}
.footer-clouds .footer-top{padding-block:45px 48px;border-top:0}
.footer-identity>p,.footer-contact address,.footer-clouds .footer-social,.footer-clouds .footer-bottom,.footer-clouds .privacy-trigger{color:#344e70}
.footer-clouds .footer-bottom{padding-bottom:30px;font-size:10px}.footer-links nav a{transition:translate .25s,color .25s}.footer-links nav a:hover{translate:3px 0}
/* An editorial rhythm: one fixed introduction and a sequence of tactile panels. */
.services{position:relative;background:#eef2f7;overflow:clip}
.services>.container{display:grid;grid-template-columns:.85fr 1.15fr;align-items:start;gap:clamp(40px,6vw,90px)}
.services .section-heading{position:sticky;top:150px;margin-bottom:0}
.services .section-heading h2{font-size:clamp(35px,3.2vw,48px);line-height:1.13;letter-spacing:-.05em}
.services .section-heading p{font-size:14px;margin-top:25px;max-width:350px}
.service-grid{grid-template-columns:1fr;gap:24px}
.service-card{min-height:230px;padding:34px;border:1px solid #fff;border-radius:24px;background:linear-gradient(140deg,#fff,#fbfcfe);box-shadow:0 8px 18px #102d5605,0 24px 48px #102d5608}
.service-body{min-height:0}.service-card h3{min-height:0;margin-bottom:14px;font-size:25px}.service-card p{max-width:450px;margin-bottom:18px}.service-actions{padding-top:8px}
.service-card:is(:hover,:focus-within){box-shadow:0 10px 22px #102d5608,0 30px 60px #102d5612;border-color:#afc7e8}
.service-card .service-icon{border-radius:16px;background:#eaf0f8}
.company{position:relative}.company-grid{align-items:center;gap:clamp(50px,8vw,110px)}
.company-visual{border-radius:22px;overflow:visible}.company-visual>img{border-radius:22px;will-change:translate}
.company-visual:before{inset:28px -20px -26px 24px;border-radius:24px;background:#e8eef5}
.experience-note{bottom:35px;right:-28px;border:1px solid #fff9;background:#ffffffed;backdrop-filter:blur(16px);box-shadow:0 16px 48px #102d5620;border-radius:18px}
.proof{position:relative;z-index:2;border-bottom:1px solid #dfe6ef}.proof-grid>div:not(:first-child){transition:translate .4s,background .4s;border-radius:12px;padding:12px 18px}.proof-grid>div:not(:first-child):hover{translate:0 -4px;background:#f0f4f9}
.sector-photo{border-radius:24px;min-height:520px;isolation:isolate}.sector-photo img{will-change:translate;object-fit:cover;transform:scale(1.08)}
.sector-list:after{display:none}.sector-list{display:block;border-top:1px solid #cad7e6}
.sector-item{border-bottom:1px solid #cad7e6;padding:0 0 0 22px;border-left:2px solid transparent;transition:background .3s,border-color .3s}
.sector-item[open]{border-left-color:var(--blue);background:#f3f6fa}
.sector-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:92px;padding:23px 20px 23px 0;outline-offset:4px}
.sector-item summary::-webkit-details-marker{display:none}.sector-item summary h3{font-size:20px;line-height:1.35;margin:0;transition:color .25s}.sector-item summary>span{display:grid;place-items:center;flex-shrink:0;border:1px solid #ccd8e7;border-radius:50%;width:32px;height:32px;font-size:21px;transition:rotate .35s,background .3s}
.sector-item[open] summary>span{rotate:45deg;background:#e5edf8}.sector-item summary:hover h3{color:var(--blue)}.sector-detail{padding:0 25px 25px 0}.sector-detail p{font-size:13px;line-height:1.8;margin:0 0 12px;color:#52647a}.sector-detail .inline-link{font-size:11px;color:var(--navy);margin-top:4px;min-height:44px}
.sector-item[open] .sector-detail{animation:sector-unfold .45s var(--ease-out)}
.process{background:#f4f6f9}.process-grid{counter-reset:steps;gap:32px}.process-grid article{padding:32px 0 0;counter-increment:steps;transition:opacity .5s,translate .5s}.process-grid article:after{content:'0' counter(steps);display:block;font-size:68px;line-height:1;letter-spacing:-.07em;font-weight:500;color:#c9d5e4;margin-top:30px;transition:color .6s,translate .6s}.process-grid article.step-seen:after{color:#102d56;translate:0 -5px}.process-grid:after{height:3px;background:linear-gradient(90deg,#8bb4e2,#195db4)}
.contact{position:relative;isolation:isolate}.contact:before{content:'';position:absolute;inset:10% 0 0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 80% 50%,#eaf0f9,transparent 65%)}.contact-form{border-radius:24px;box-shadow:0 8px 18px #102d5605,0 35px 80px #102d5610}
.section-heading h2{letter-spacing:-.045em}.client-logos{gap:clamp(35px,7vw,110px)}.client-logos img{filter:grayscale(1);opacity:.7;transition:filter .35s,opacity .35s,transform .35s}.client-logos img:hover{filter:none;opacity:1;transform:translateY(-5px)}
@keyframes sector-unfold{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}
@media(min-width:1001px){.contact-copy{position:sticky;top:150px;align-self:start}.company-copy .checks li{transition:translate .3s}.company-copy .checks li:hover{translate:4px 0}}
@media(max-width:1000px){.services>.container{gap:35px;grid-template-columns:.8fr 1.2fr}.service-card{padding:27px;grid-template-columns:1fr;gap:20px}.service-card h3{font-size:23px}.services .section-heading h2{font-size:35px}.company-grid{gap:45px}.experience-note{right:-12px}}
@media(max-width:800px){.services>.container{display:block}.services .section-heading{position:static;margin-bottom:35px}.services .section-heading p{max-width:550px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.service-card{padding:25px}.service-body{height:100%}.service-actions{margin-top:auto}.company-visual:before{inset:20px -10px -18px 15px}.sector-photo{min-height:400px}.sector-item summary{min-height:80px}.footer-clouds{border-radius:24px 24px 0 0}.footer-scene{min-height:350px}.footer-invitation{padding-block:60px 48px}.footer-clouds .footer-top{padding-block:35px}.footer-clouds:after{background:linear-gradient(90deg,#f8faffe8,#f8faff99),linear-gradient(0deg,#f8faff88,transparent)}.process-grid article:after{font-size:54px}}
@media(max-width:520px){.service-grid{grid-template-columns:1fr}.service-card{grid-template-columns:46px minmax(0,1fr);gap:17px;padding:26px 22px;border-radius:20px}.service-card h3{font-size:22px}.service-body{height:auto}.service-actions{margin-left:-63px;margin-top:0}.sector-item{padding-left:15px}.sector-item summary{padding-right:14px;min-height:82px}.sector-item summary h3{font-size:19px}.sector-photo{min-height:340px}.sector-photo img{min-height:340px}.experience-note{right:-4px;bottom:25px}.footer-scene{min-height:0}.footer-invitation{padding-block:55px 45px}.footer-invitation h2{font-size:49px}.footer-clouds .footer-top{padding-block:32px;gap:28px}.footer-clouds .footer-bottom{padding-bottom:100px}.process-grid article{display:grid;grid-template-columns:50px 1fr;column-gap:20px;padding-top:25px}.process-grid article:after{grid-column:1;grid-row:1/3;font-size:36px;margin-top:0}.process-grid article h3,.process-grid article p{grid-column:2}.process-grid article h3{font-size:21px}.contact-form{border-radius:20px}}
@media(prefers-reduced-motion:reduce){.sector-item[open] .sector-detail{animation:none}.company-visual>img,.sector-photo img{will-change:auto;translate:none!important}.process-grid article:after,.client-logos img,.proof-grid>div{transition:none}.footer-links nav a:hover{translate:none}}
/* Shared tactile surfaces; readable content is independent of pointer state. */
.experience-note{background:linear-gradient(135deg,#173c69,#102d56);color:#fff;border-color:#ffffff40;backdrop-filter:none;box-shadow:0 18px 48px #102d5630}
.experience-note strong{color:#fff}.experience-note>span{color:#dce8f7;font-size:10px;line-height:1.6}
.tactile-surface{--surface-x:50%;--surface-y:30%;--surface-rx:0deg;--surface-ry:0deg;position:relative;isolation:isolate;transform:perspective(1100px) rotateX(var(--surface-rx)) rotateY(var(--surface-ry));transition:transform .55s var(--ease-out),box-shadow .4s,border-color .3s,background .3s}
.tactile-surface:before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;background:radial-gradient(360px circle at var(--surface-x) var(--surface-y),#dceafc90,transparent 72%);opacity:0;transition:opacity .35s}
.tactile-surface:is(:hover,:focus-within):before{opacity:1}
.experience-note.tactile-surface{position:absolute}.experience-note.tactile-surface:before{background:radial-gradient(280px circle at var(--surface-x) var(--surface-y),#6f9bd32b,transparent 75%)}
.experience-note:hover{box-shadow:0 24px 55px #102d5640}
.proof-grid>.tactile-surface:not(:first-child){border:1px solid transparent;transition:transform .55s var(--ease-out),translate .4s,box-shadow .4s,border-color .3s}
.proof-grid>.tactile-surface:hover{background:#f6f9fc;border-color:#d9e4f1;box-shadow:0 12px 30px #102d5610}
.sector-item.tactile-surface:is(:hover,:focus-within){box-shadow:0 12px 30px #102d560d}.sector-item.tactile-surface:before{background:radial-gradient(380px circle at var(--surface-x) var(--surface-y),#e2ecfa,transparent 75%)}
.sector-item summary:focus-visible{outline:3px solid #78b2ff;outline-offset:-4px;border-radius:6px}
.process-grid>.tactile-surface{padding:28px 23px 24px;border:1px solid transparent;border-radius:20px}
.process-grid>.tactile-surface:before{display:block;height:auto;background:radial-gradient(400px circle at var(--surface-x) var(--surface-y),#dce8f7a8,transparent 75%);transform:none}
.process-grid>.tactile-surface:hover{background:#fff;border-color:#d8e3f0;box-shadow:0 18px 40px #102d5610}
.process-grid>.tactile-surface h3{transition:color .3s,translate .35s}.process-grid>.tactile-surface:hover h3{color:#195db4;translate:0 -2px}
.process-grid>.tactile-surface:hover:after{color:#195db4}
.contact-form{background:radial-gradient(ellipse at 30% 0%,#f4f8ff,transparent 60%),#fff;transition:border-color .3s,box-shadow .4s}
.contact-form:focus-within{box-shadow:0 12px 24px #102d5608,0 34px 75px #102d5617;border-color:#9dbadd}
@media(max-width:520px){.experience-note>span{font-size:9px}.process-grid>.tactile-surface{padding:24px 16px}.tactile-surface{transform:none}}
@media(prefers-reduced-motion:reduce){.tactile-surface{transform:none!important;transition:none}.tactile-surface:before{transition:none}.process-grid>.tactile-surface:hover h3{translate:none}.proof-grid>.tactile-surface:hover{translate:none}}
