/* Progetto Sentinel — percorso pubblico a pagina unica */
html { scroll-behavior: smooth; }
body { background: radial-gradient(circle at 85% 8%,rgba(10,132,255,.08),transparent 28rem),var(--bg-body); }
.s-icon-sprite { position:absolute;width:0;height:0;overflow:hidden;pointer-events:none; }
.s-icon { display:inline-block;width:1em;height:1em;flex:0 0 auto;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.14em; }
.s-onepage-section { position:relative;display:flex;align-items:center;min-height:min(860px,calc(100vh - 76px));padding:clamp(5rem,8vw,8rem) 0;border-bottom:1px solid var(--border-color);scroll-margin-top:76px;scroll-snap-align:start; }
.s-onepage-section:nth-of-type(even) { background:linear-gradient(135deg,rgba(13,31,50,.62),rgba(7,17,29,.25)); }
.s-onepage-hero { min-height:calc(100vh - 76px);padding:clamp(4rem,7vw,7rem) 0; }
.s-onepage-hero__grid,.s-onepage-split { display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);align-items:center;gap:clamp(2.5rem,6vw,6rem); }
.s-onepage-kicker { display:inline-flex;align-items:center;gap:.55rem;margin-bottom:1.25rem;color:var(--color-primary);font:600 var(--font-size-sm)/1.3 var(--font-mono);letter-spacing:.1em;text-transform:uppercase; }
.s-onepage-kicker::before { width:28px;height:1px;background:currentColor;content:""; }
.s-onepage-hero h1 { max-width:760px;margin-bottom:1.5rem;font-size:var(--font-size-page-title); }
.s-onepage-lead { max-width:720px;color:var(--text-secondary);font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.75; }
.s-onepage-actions { display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem; }
.s-project-documentation { display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.85rem;margin-top:clamp(1.5rem,3vw,2.5rem); }
.s-project-documentation .s-button { min-width:190px;box-shadow:0 12px 28px rgba(0,0,0,.16); }
.s-project-documentation .s-icon { width:1.15rem;height:1.15rem; }
.s-onepage-visual { overflow:hidden;border:1px solid var(--border-color);border-radius:var(--radius-2xl);background:var(--bg-card);box-shadow:var(--shadow-lg); }
.s-onepage-visual img { display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover; }
.s-technology-visual { width:100%;margin-top:clamp(1.5rem,3vw,2.5rem); }
.s-onepage-heading { max-width:780px;margin-bottom:clamp(2rem,5vw,4rem); }
.s-onepage-heading h2 { margin-bottom:1rem;font-size:var(--font-size-section-title); }
.s-onepage-heading p { max-width:680px;font-size:var(--font-size-md);line-height:1.75; }
.s-onepage-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem; }
.s-onepage-grid--four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.s-onepage-card { min-height:100%;padding:clamp(1.4rem,2.6vw,2rem);border:1px solid var(--border-color);border-radius:var(--radius-xl);background:linear-gradient(145deg,rgba(255,255,255,.025),transparent 46%),var(--bg-card);box-shadow:var(--shadow-sm); }
.s-onepage-card__index,.s-onepage-card>i { display:grid;place-items:center;width:42px;height:42px;margin-bottom:1.25rem;border:1px solid rgba(10,132,255,.28);border-radius:50%;color:var(--color-primary);background:rgba(10,132,255,.1);font:600 .8rem/1 var(--font-mono); }
.s-onepage-card__index .s-icon { width:19px;height:19px; }
.s-onepage-card>.s-icon,.s-onepage-flow article>.s-icon { display:block;width:44px;height:44px;margin-bottom:1.25rem;padding:10px;border:1px solid rgba(47,156,255,.25);border-radius:var(--radius-md);color:#65b4ff;background:linear-gradient(145deg,rgba(47,156,255,.14),rgba(47,156,255,.045));box-shadow:inset 0 1px rgba(255,255,255,.06),0 8px 20px rgba(0,0,0,.16); }
.s-onepage-card h3 { margin-bottom:.75rem;font-size:var(--font-size-lg); }
.s-onepage-card p,.s-onepage-card li { color:var(--text-secondary);line-height:1.65; }
.s-onepage-flow { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;counter-reset:flow; }
.s-onepage-flow article { position:relative;padding:1.6rem;border-top:2px solid var(--color-primary);border-radius:0 0 var(--radius-xl) var(--radius-xl);background:var(--bg-card);counter-increment:flow; }
.s-onepage-flow article::before { display:block;margin-bottom:1rem;color:var(--color-secondary);font:600 .75rem/1 var(--font-mono);content:"0" counter(flow); }
.s-onepage-flow h3 { margin-bottom:.55rem;font-size:var(--font-size-md); }
.s-onepage-flow p { font-size:var(--font-size-sm);line-height:1.6; }
.s-onepage-subheading { max-width:760px;margin:clamp(2.5rem,6vw,4.5rem) 0 1.5rem;padding-left:1.15rem;border-left:2px solid var(--color-secondary); }
.s-onepage-subheading span { display:block;margin-bottom:.45rem;color:var(--color-secondary);font:600 .7rem/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase; }
.s-onepage-subheading h3 { margin-bottom:.55rem;font-size:clamp(1.25rem,2.6vw,1.75rem);line-height:1.25; }
.s-onepage-subheading p { max-width:660px;line-height:1.65; }
.s-onepage-phases { display:grid;gap:1rem; }
.s-onepage-phase { display:grid;grid-template-columns:130px 1fr auto;align-items:center;gap:1.5rem;padding:1.4rem 1.6rem;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-card); }
.s-onepage-phase span { color:var(--color-primary);font:600 .75rem/1.2 var(--font-mono);letter-spacing:.08em;text-transform:uppercase; }
.s-onepage-phase h3 { margin-bottom:.3rem;font-size:var(--font-size-md); }
.s-onepage-phase p { font-size:var(--font-size-sm); }
.s-onepage-phase strong { color:var(--color-secondary);font:600 .75rem/1 var(--font-mono); }
.s-contact-layout { display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:1.5rem; }
.s-contact-details a { color:var(--text-primary); }
.s-onepage-footer { padding:2rem 0;border-top:1px solid var(--border-color);background:var(--bg-surface); }
.s-onepage-footer__inner { display:flex;justify-content:space-between;gap:1rem;color:var(--text-muted);font-size:var(--font-size-sm); }
@media(min-width:992px){html{scroll-snap-type:y proximity}}
@media(max-width:1199.98px){.s-onepage-grid--four,.s-onepage-flow{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:991.98px){.s-onepage-section,.s-onepage-hero{min-height:auto}.s-onepage-hero__grid,.s-onepage-split,.s-contact-layout{grid-template-columns:1fr}.s-onepage-visual{width:min(100%,760px)}.s-onepage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767.98px){.s-onepage-section{padding:4rem 0}.s-onepage-grid,.s-onepage-grid--four,.s-onepage-flow{grid-template-columns:1fr}.s-onepage-phase{grid-template-columns:1fr;gap:.7rem}.s-project-documentation{justify-content:stretch}.s-project-documentation .s-button{width:100%}.s-onepage-footer__inner{flex-direction:column}}

/* Effetti visivi e profondità */
.s-onepage-section { overflow:hidden;isolation:isolate; }
.s-onepage-section>.container { position:relative;z-index:1; }
.s-onepage-section::before { position:absolute;top:12%;right:-12rem;width:28rem;height:28rem;border-radius:50%;background:radial-gradient(circle,rgba(10,132,255,.11),rgba(10,132,255,0) 68%);filter:blur(8px);pointer-events:none;content:""; }
.s-onepage-section:nth-of-type(even)::before { right:auto;left:-12rem;background:radial-gradient(circle,rgba(16,213,194,.08),rgba(16,213,194,0) 68%); }
.s-onepage-kicker::before { box-shadow:0 0 12px currentColor;animation:sentinelPulse 2.8s ease-in-out infinite; }

.s-onepage-visual { position:relative;transition:border-color .35s ease,box-shadow .35s ease,transform .35s ease; }
.s-onepage-visual::before { position:absolute;inset:0;z-index:1;background:linear-gradient(115deg,transparent 18%,rgba(10,132,255,.16) 48%,transparent 72%);transform:translateX(-120%);transition:transform .8s cubic-bezier(.22,1,.36,1);pointer-events:none;content:""; }
.s-onepage-visual::after { position:absolute;inset:0;z-index:1;border-radius:inherit;box-shadow:inset 0 0 55px rgba(7,17,29,.72);pointer-events:none;content:""; }
.s-onepage-visual img { transition:transform .8s cubic-bezier(.22,1,.36,1),filter .5s ease; }

.s-onepage-card,.s-onepage-flow article,.s-onepage-phase { position:relative;overflow:hidden;transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease,background-color .28s ease; }
.s-onepage-card::before,.s-onepage-flow article::after,.s-onepage-phase::before { position:absolute;inset:0;background:linear-gradient(120deg,transparent 24%,rgba(255,255,255,.045) 48%,transparent 72%);transform:translateX(-115%);transition:transform .65s cubic-bezier(.22,1,.36,1);pointer-events:none;content:""; }
.s-onepage-card::after { position:absolute;top:0;right:12%;left:12%;height:1px;background:linear-gradient(90deg,transparent,var(--color-primary),transparent);opacity:.32;content:""; }
.s-onepage-card__index,.s-onepage-card>i { transition:color .28s ease,background-color .28s ease,box-shadow .28s ease,transform .28s ease; }
.s-onepage-phase strong { padding:.45rem .7rem;border:1px solid rgba(16,213,194,.2);border-radius:var(--radius-pill);background:rgba(16,213,194,.07); }

@media(hover:hover){
    .s-onepage-visual:hover { border-color:rgba(10,132,255,.48);box-shadow:0 28px 70px rgba(0,0,0,.34),0 0 36px rgba(10,132,255,.12);transform:translateY(-4px); }
    .s-onepage-visual:hover::before { transform:translateX(120%); }
    .s-onepage-visual:hover img { transform:scale(1.035);filter:saturate(1.08) contrast(1.03); }
    .s-onepage-card:hover,.s-onepage-flow article:hover,.s-onepage-phase:hover { border-color:rgba(10,132,255,.42);box-shadow:0 18px 42px rgba(0,0,0,.25),0 0 25px rgba(10,132,255,.08);transform:translateY(-6px); }
    .s-onepage-phase:hover { transform:translateX(8px); }
    .s-onepage-card:hover::before,.s-onepage-flow article:hover::after,.s-onepage-phase:hover::before { transform:translateX(115%); }
    .s-onepage-card:hover .s-onepage-card__index,.s-onepage-card:hover>i { color:#fff;background:var(--color-primary);box-shadow:0 0 24px rgba(10,132,255,.38);transform:scale(1.08) rotate(-3deg); }
}

@supports (animation-timeline: view()) {
    .s-onepage-heading,.s-onepage-card,.s-onepage-flow article,.s-onepage-phase,.s-technology-visual { animation:sentinelReveal both;animation-timeline:view();animation-range:entry 5% cover 32%; }
}

@keyframes sentinelReveal { from { opacity:0;transform:translateY(28px) scale(.985); } to { opacity:1;transform:translateY(0) scale(1); } }
@keyframes sentinelPulse { 0%,100% { opacity:.45;transform:scaleX(.72);transform-origin:left; } 50% { opacity:1;transform:scaleX(1);transform-origin:left; } }
@media(prefers-reduced-motion:reduce){
    .s-onepage-kicker::before,.s-onepage-heading,.s-onepage-card,.s-onepage-flow article,.s-onepage-phase,.s-technology-visual { animation:none!important; }
    .s-onepage-visual,.s-onepage-visual img,.s-onepage-card,.s-onepage-flow article,.s-onepage-phase,.s-onepage-card__index,.s-onepage-card>i { transition:none!important; }
}

/* Iconografia contestuale */
.s-onepage-card,.s-onepage-flow article,[data-accent] { --card-accent:#2f9cff;--card-accent-soft:rgba(47,156,255,.09);--card-accent-border:rgba(47,156,255,.24);--card-accent-glow:rgba(47,156,255,.22); }
.s-onepage-card::after { background:linear-gradient(90deg,transparent,var(--card-accent),transparent); }
.s-onepage-card__index,.s-onepage-card>i { border-color:var(--card-accent-border);color:var(--card-accent);background:var(--card-accent-soft); }
.s-onepage-card__index i { font-size:1rem; }
.s-onepage-flow article { border-top-color:var(--card-accent); }
.s-onepage-flow article>i { display:grid;place-items:center;width:38px;height:38px;margin-bottom:1rem;border:1px solid var(--card-accent-border);border-radius:var(--radius-md);color:var(--card-accent);background:var(--card-accent-soft);box-shadow:0 0 18px var(--card-accent-soft); }
.s-onepage-phase span { display:flex;align-items:center;gap:.55rem; }
.s-onepage-phase span i { width:1.1rem;color:var(--color-secondary);font-size:1rem;text-align:center; }
.s-onepage-phase span .s-icon { width:1.1rem;height:1.1rem;color:#65b4ff; }
@media(hover:hover){
    .s-onepage-card:hover { border-color:var(--card-accent-border); }
    .s-onepage-card:hover .s-onepage-card__index,.s-onepage-card:hover>i { color:#07111d;background:var(--card-accent);box-shadow:0 0 24px var(--card-accent-glow); }
    .s-onepage-flow article:hover>i { color:#07111d;background:var(--card-accent);box-shadow:0 0 22px var(--card-accent-glow);transform:scale(1.08) rotate(-3deg); }
}

/* Sistema visivo uniforme e sezioni a tutta schermata */
.s-onepage-section {
    --section-accent:var(--color-primary);
    min-height:calc(100svh - 76px);
    padding:clamp(3.75rem,7vh,6rem) 0;
    background:
        linear-gradient(135deg,rgba(13,31,50,.72),rgba(7,17,29,.9) 58%,rgba(10,132,255,.035)),
        var(--bg-body);
}
.s-onepage-section:nth-of-type(even) {
    background:
        linear-gradient(225deg,rgba(13,31,50,.76),rgba(7,17,29,.9) 58%,rgba(16,213,194,.035)),
        var(--bg-body);
}
#progetto,#flusso,#tecnologie,#roadmap,#contatti { --section-accent:#2f9cff; }
.s-onepage-section::before {
    top:50%;
    right:-9rem;
    width:32rem;
    height:32rem;
    background:radial-gradient(circle,color-mix(in srgb,var(--section-accent) 13%,transparent),transparent 68%);
    transform:translateY(-50%);
}
.s-onepage-section:nth-of-type(even)::before {
    right:auto;
    left:-9rem;
    background:radial-gradient(circle,color-mix(in srgb,var(--section-accent) 11%,transparent),transparent 68%);
}
.s-onepage-section::after {
    position:absolute;
    inset:0;
    z-index:0;
    background-image:
        linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
    background-size:72px 72px;
    mask-image:linear-gradient(to bottom,transparent,black 20%,black 80%,transparent);
    pointer-events:none;
    content:"";
}
.s-onepage-section>.container {
    display:grid;
    align-content:center;
    gap:clamp(1.35rem,2.6vh,2.25rem);
    width:100%;
    min-height:min(720px,calc(100svh - 76px - clamp(7.5rem,14vh,12rem)));
}
.s-onepage-hero>.container { display:block;min-height:0; }
.s-onepage-heading {
    max-width:900px;
    margin:0;
    padding-left:clamp(1rem,2vw,1.4rem);
    border-left:2px solid var(--section-accent);
}
.s-onepage-heading .s-onepage-kicker { color:var(--section-accent); }
.s-onepage-heading h2 { max-width:860px;margin-bottom:.8rem; }
.s-onepage-heading p { max-width:760px; }
.s-onepage-grid,.s-onepage-flow {
    width:100%;
    gap:clamp(1rem,1.6vw,1.4rem);
    grid-auto-rows:1fr;
}
.s-onepage-card,.s-onepage-flow article {
    display:flex;
    flex-direction:column;
    min-height:clamp(190px,22vh,245px);
    padding:clamp(1.35rem,2.4vw,2rem);
    border:1px solid color-mix(in srgb,var(--card-accent) 25%,var(--border-color));
    border-radius:var(--radius-xl);
    background:
        linear-gradient(145deg,color-mix(in srgb,var(--card-accent) 6%,transparent),transparent 42%),
        rgba(13,29,47,.88);
    box-shadow:0 16px 38px rgba(0,0,0,.18);
}
.s-onepage-card p,.s-onepage-flow article p { margin-top:auto; }
.s-onepage-card__index,.s-onepage-card>i,.s-onepage-flow article>i {
    width:44px;
    height:44px;
    flex:0 0 44px;
    border-radius:var(--radius-md);
}
.s-onepage-flow article { border-top-width:1px; }
.s-onepage-flow article::before {
    position:absolute;
    top:1.25rem;
    right:1.3rem;
    margin:0;
    color:color-mix(in srgb,var(--card-accent) 72%,white);
}
.s-onepage-subheading {
    width:100%;
    max-width:none;
    margin:clamp(.7rem,1.8vh,1.35rem) 0 0;
    padding:1rem 1.25rem;
    border:1px solid color-mix(in srgb,var(--section-accent) 24%,var(--border-color));
    border-left:3px solid var(--section-accent);
    border-radius:0 var(--radius-lg) var(--radius-lg) 0;
    background:linear-gradient(90deg,color-mix(in srgb,var(--section-accent) 8%,transparent),transparent 72%);
}
.s-onepage-subheading span { color:var(--section-accent); }
.s-onepage-subheading h3 { margin-bottom:.35rem; }
.s-onepage-phases {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:clamp(1rem,1.6vw,1.4rem);
}
.s-onepage-phase {
    grid-template-columns:1fr;
    align-content:start;
    gap:.8rem;
    min-height:205px;
    padding:clamp(1.35rem,2.2vw,1.8rem);
    border-color:color-mix(in srgb,var(--section-accent) 22%,var(--border-color));
    border-radius:var(--radius-xl);
    background:linear-gradient(145deg,color-mix(in srgb,var(--section-accent) 6%,transparent),transparent 44%),rgba(13,29,47,.88);
    box-shadow:0 16px 38px rgba(0,0,0,.18);
}
.s-onepage-phase span { color:var(--section-accent); }
.s-onepage-phase strong { align-self:end;justify-self:start;margin-top:auto; }
.s-contact-layout { align-items:stretch;gap:clamp(1rem,1.6vw,1.4rem); }
.s-contact-layout>.s-onepage-card { height:100%;min-height:430px; }
.s-contact-layout .s-form { display:flex;flex-direction:column;height:100%; }
.s-contact-layout .s-form .s-button { align-self:flex-start;margin-top:auto; }

@media(min-width:1200px) and (max-height:860px){
    .s-onepage-section { padding:3rem 0; }
    .s-onepage-section>.container { gap:1.25rem; }
    .s-onepage-card,.s-onepage-flow article { min-height:170px;padding:1.25rem; }
    .s-onepage-phases { gap:1rem; }
    .s-onepage-phase { min-height:165px;padding:1.2rem 1.35rem; }
    .s-onepage-subheading { margin-top:.35rem;padding:.8rem 1rem; }
}
@media(max-width:1199.98px){
    .s-onepage-phases { grid-template-columns:1fr; }
    .s-onepage-phase { min-height:0; }
}
@media(max-width:991.98px){
    .s-onepage-section,.s-onepage-hero { min-height:calc(100svh - 68px);padding:clamp(4rem,9vw,6rem) 0; }
    .s-onepage-section>.container { min-height:0; }
    .s-onepage-card,.s-onepage-flow article { min-height:190px; }
    .s-contact-layout>.s-onepage-card { min-height:0; }
}
@media(max-width:767.98px){
    .s-onepage-section,.s-onepage-hero { min-height:100svh;padding:4rem 0; }
    .s-onepage-section>.container { gap:1.25rem; }
    .s-onepage-heading { padding-left:1rem; }
    .s-onepage-card,.s-onepage-flow article { min-height:0; }
    .s-onepage-subheading { margin-top:.5rem;padding:.9rem 1rem; }
}
@supports not (color:color-mix(in srgb,white,black)) {
    .s-onepage-section::before { background:radial-gradient(circle,rgba(10,132,255,.11),transparent 68%); }
    .s-onepage-card,.s-onepage-flow article,.s-onepage-phase { border-color:var(--border-color); }
}

/* Transizioni fluide tra le sezioni */
html { scroll-padding-top:76px; }
.has-section-transitions .s-onepage-section>.container {
    opacity:.12;
    filter:blur(2px);
    transform:translate3d(0,42px,0) scale(.992);
    transition:
        opacity .72s cubic-bezier(.22,1,.36,1),
        filter .72s ease,
        transform .86s cubic-bezier(.22,1,.36,1);
    will-change:opacity,transform;
}
.has-section-transitions .s-onepage-section.is-visible>.container {
    opacity:1;
    filter:none;
    transform:translate3d(0,0,0) scale(1);
}
.has-section-transitions .s-onepage-section::before {
    opacity:.28;
    transition:opacity 1s ease;
}
.has-section-transitions .s-onepage-section.is-visible::before { opacity:1; }
@media(prefers-reduced-motion:reduce){
    html { scroll-behavior:auto; }
    .has-section-transitions .s-onepage-section>.container {
        opacity:1;
        filter:none;
        transform:none;
        transition:none;
    }
    .has-section-transitions .s-onepage-section::before { opacity:1;transition:none; }
}

/* Direzione visiva professionale: blu Sentinel e toni neutri */
body { background:#070f1a;color:#eef4fa; }
.s-onepage-section,
.s-onepage-section:nth-of-type(even) {
    background:
        linear-gradient(180deg,rgba(12,25,41,.96),rgba(7,15,26,.98)),
        #070f1a;
    border-bottom-color:rgba(147,171,196,.12);
}
.s-onepage-section:nth-of-type(even) {
    background:
        linear-gradient(180deg,rgba(9,20,34,.98),rgba(12,25,41,.94)),
        #070f1a;
}
.s-onepage-section::after {
    opacity:.46;
    background-image:
        linear-gradient(rgba(145,174,204,.012) 1px,transparent 1px),
        linear-gradient(90deg,rgba(145,174,204,.012) 1px,transparent 1px);
    background-size:88px 88px;
}
.s-onepage-section::before,
.s-onepage-section:nth-of-type(even)::before {
    background:radial-gradient(circle,rgba(47,156,255,.085),transparent 68%);
}
.s-onepage-heading {
    max-width:980px;
    padding-left:0;
    border-left:0;
}
.s-onepage-heading .s-onepage-kicker {
    margin-bottom:1rem;
    color:#8fc7ff;
    font-size:.72rem;
    letter-spacing:.14em;
}
.s-onepage-heading .s-onepage-kicker::before { width:40px;box-shadow:none; }
.s-onepage-heading h2 {
    max-width:940px;
    margin-bottom:1rem;
    color:#f7fafc;
    font-size:clamp(2rem,3.8vw,3.2rem);
    line-height:1.08;
    letter-spacing:-.035em;
    text-wrap:balance;
}
.s-onepage-heading h2::after {
    display:block;
    width:72px;
    height:3px;
    margin-top:1rem;
    border-radius:999px;
    background:#2f9cff;
    box-shadow:0 0 18px rgba(47,156,255,.28);
    content:"";
}
.s-onepage-heading p { max-width:800px;color:#a7b5c5; }
.s-onepage-card,.s-onepage-flow article,.s-onepage-phase {
    border-color:rgba(145,174,204,.16);
    background:linear-gradient(145deg,rgba(255,255,255,.018),transparent 45%),rgba(12,25,41,.94);
    box-shadow:0 14px 34px rgba(0,0,0,.2);
}
.s-onepage-card::after { right:18%;left:18%;opacity:.38;background:linear-gradient(90deg,transparent,#2f9cff,transparent); }
.s-onepage-card h3,.s-onepage-flow h3,.s-onepage-phase h3 { color:#edf3f8;letter-spacing:-.012em; }
.s-onepage-card p,.s-onepage-flow p,.s-onepage-phase p { color:#9eafc1; }
.s-onepage-card__index,.s-onepage-card>i,.s-onepage-flow article>i {
    border-color:rgba(47,156,255,.25);
    color:#65b4ff;
    background:rgba(47,156,255,.075);
    box-shadow:none;
}
.s-onepage-flow article { border-top-color:rgba(145,174,204,.16); }
.s-onepage-flow article::before { color:#7391ad; }
.s-onepage-subheading {
    border-color:rgba(145,174,204,.14);
    border-left-color:#2f9cff;
    background:linear-gradient(90deg,rgba(47,156,255,.065),rgba(12,25,41,.62) 58%,transparent);
}
.s-onepage-subheading span { color:#83c0f8; }
.s-onepage-subheading h3 { color:#edf3f8;letter-spacing:-.015em; }
.s-onepage-subheading p { color:#9eafc1; }
.s-onepage-phase span { color:#83c0f8; }
.s-onepage-phase span i { color:#65b4ff; }
.s-onepage-phase strong {
    border-color:rgba(47,156,255,.22);
    color:#8fc7ff;
    background:rgba(47,156,255,.07);
}
.s-contact-details p { margin-top:0; }
.s-contact-details p:last-child { margin-top:1rem; }
.s-onepage-card__index,.s-onepage-card>i,.s-onepage-flow article>i {
    background:linear-gradient(145deg,rgba(47,156,255,.14),rgba(47,156,255,.045));
    box-shadow:inset 0 1px rgba(255,255,255,.06),0 8px 20px rgba(0,0,0,.16);
    font-size:1.05rem;
}
.s-contact-layout--single { grid-template-columns:1fr; }
.s-contact-layout--single .s-contact-details {
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    grid-template-rows:auto auto auto;
    align-content:center;
    column-gap:clamp(1.25rem,3vw,2.25rem);
    row-gap:.7rem;
    min-height:clamp(270px,36vh,360px);
    padding:clamp(1.75rem,4vw,3.25rem);
}
.s-contact-layout--single .s-contact-details>i { grid-column:1;grid-row:1/4;width:58px;height:58px;margin:0;font-size:1.25rem; }
.s-contact-layout--single .s-contact-details>.s-icon { grid-column:1;grid-row:1/4;width:58px;height:58px;margin:0;padding:15px; }
.s-contact-layout--single .s-contact-details h3 { grid-column:2;margin:0;font-size:clamp(1.45rem,2.7vw,2rem); }
.s-contact-layout--single .s-contact-details p { grid-column:2;max-width:720px;margin:0; }
.s-contact-layout--single .s-contact-link { grid-column:2;justify-self:start;margin-top:.45rem; }
.s-contact-layout--single .s-contact-link i { margin:0;font-size:.9rem; }
.s-contact-layout--single .s-contact-link .s-icon { width:1rem;height:1rem;margin:0; }
@media(hover:hover){
    .s-onepage-card:hover,.s-onepage-flow article:hover,.s-onepage-phase:hover {
        border-color:rgba(47,156,255,.34);
        box-shadow:0 18px 42px rgba(0,0,0,.25),0 0 0 1px rgba(47,156,255,.04);
        transform:translateY(-3px);
    }
    .s-onepage-card:hover .s-onepage-card__index,.s-onepage-card:hover>i,.s-onepage-flow article:hover>i {
        color:#f7fafc;
        background:#237fd0;
        box-shadow:0 8px 22px rgba(35,127,208,.24);
        transform:translateY(-2px);
    }
    .s-onepage-card:hover>.s-icon,.s-onepage-flow article:hover>.s-icon {
        border-color:#237fd0;
        color:#f7fafc;
        background:#237fd0;
        box-shadow:0 8px 22px rgba(35,127,208,.24);
        transform:translateY(-2px);
    }
}
@media(max-width:767.98px){
    .s-onepage-heading h2 { font-size:clamp(1.85rem,8vw,2.55rem); }
    .s-onepage-heading h2::after { width:56px;margin-top:.8rem; }
    .s-contact-layout--single .s-contact-details { display:flex;min-height:0;padding:1.5rem; }
    .s-contact-layout--single .s-contact-details>i { width:50px;height:50px;margin-bottom:.45rem; }
    .s-contact-layout--single .s-contact-details>.s-icon { width:50px;height:50px;margin-bottom:.45rem;padding:13px; }
    .s-contact-layout--single .s-contact-link { align-self:stretch;justify-content:center; }
}
