/*
Theme Name: ZACCS Tech Corp
Author: ZACCS Tech Corp
Description: Tema corporate moderno per ZACCS Tech Corp.
Version: 5.5.5
Text Domain: zaccs
*/
.zaccs-map-consent { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; min-height:180px; padding:24px; text-align:center; background:#203348; color:#F4F7F8; border-radius:18px; }
.zaccs-map-consent .btn { position:relative; z-index:2; }

:root {
    --cyan: #4895A1;
    --cyan-light: #66B5C0;
    --blue: #203348;
    --deep: #1B2D3D;
    --card: #273B4D;
    --white: #F4F7F8;
    --paper: #FFFFFF;
    --soft: #EDF2F3;
    --muted: #627580;
    --muted-light: #B8C2C8;
    --line: #D6E0E3;
    --line-dark: #385263;
    --max: 1200px;
    --radius: 14px;
    --shadow: 0 18px 48px rgba(23, 43, 57, .08);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body {
    margin: 0;
    background: var(--paper);
    color: var(--blue);
    font: 400 16px/1.72 Montserrat, sans-serif;
    -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
::selection { background: var(--cyan); color: white; }

h1, h2, h3, h4 {
    font-family: Montserrat, sans-serif;
    letter-spacing: -.045em;
    line-height: 1.16;
}
h1 { margin: 0 0 26px; font-size: clamp(2.75rem, 5.8vw, 5.25rem); font-weight: 700; line-height: 1.04; }
.identity { font-family: Orbitron, sans-serif; font-weight: 600; letter-spacing: -.025em; }
h2 { margin: 0 0 22px; font-size: clamp(2rem, 4vw, 3.6rem); font-weight: 700; }
h3 { margin: 0 0 12px; font-size: clamp(1.15rem, 2vw, 1.38rem); font-weight: 700; }
p { margin: 0 0 18px; }

.wrap { width: min(var(--max), calc(100% - 64px)); margin-inline: auto; }
.section { padding: clamp(88px, 8vw, 128px) 0; }
.section-soft { background: var(--soft); }
.section-dark { background: var(--deep); color: var(--white); }
.section-dark p { color: var(--muted-light); }
.lead { max-width: 780px; color: var(--muted); font-size: clamp(1.04rem, 1.7vw, 1.24rem); line-height: 1.68; }
.eyebrow {
    margin-bottom: 18px;
    color: #337A85;
    font: 400 10px/1.4 Audiowide, sans-serif;
    letter-spacing: .19em;
    text-transform: uppercase;
}
.eyebrow-light { color: var(--cyan-light); }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 54px; margin-bottom: 54px; }
.section-heading > div { max-width: 820px; }
.section-heading h2 { margin-bottom: 16px; }
.split-heading { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(48px, 8vw, 110px); align-items: start; }

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 50px;
    padding: 12px 23px;
    border: 1px solid var(--cyan);
    border-radius: 8px;
    background: var(--cyan);
    color: white;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: background .22s, border-color .22s, transform .22s, color .22s;
}
.btn:hover { background: #3A7F8A; border-color: #3A7F8A; transform: translateY(-2px); }
.btn-ghost { border-color: rgba(255, 255, 255, .38); background: transparent; color: white; }
.btn-ghost:hover { border-color: white; background: white; color: var(--deep); }
.btn-dark { border-color: var(--blue); background: var(--blue); color: white; }
.btn-dark:hover { border-color: var(--deep); background: var(--deep); }
.btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.text-link { display: inline-flex; align-items: center; gap: 10px; color: #2F7580; font-size: 13px; font-weight: 700; }
.text-link span { transition: transform .2s; }
.text-link:hover span { transform: translateX(4px); }
.text-link-light { color: var(--cyan-light); white-space: nowrap; }

.skip-link { position: fixed; z-index: 1000; top: 10px; left: 10px; transform: translateY(-150%); padding: 10px 14px; background: white; color: var(--deep); }
.skip-link:focus { transform: none; }
:focus-visible { outline: 3px solid var(--cyan-light); outline-offset: 4px; }

/* Header */
.site-header {
    position: fixed;
    z-index: 100;
    inset: 0 0 auto;
    height: 88px;
    display: flex;
    align-items: center;
    color: white;
    border-bottom: 1px solid transparent;
    transition: height .25s, background .25s, border-color .25s, box-shadow .25s;
}
.site-header.scrolled {
    height: 72px;
    background: rgba(16, 28, 39, .96);
    border-color: rgba(184, 194, 200, .16);
    box-shadow: 0 12px 30px rgba(3, 11, 18, .14);
    backdrop-filter: blur(16px);
}
.nav-wrap { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { flex: 0 0 auto; }
.short-brand img { width: 208px; max-height: 53px; object-fit: contain; object-position: left center; }
.main-nav { display: flex; align-items: center; gap: 27px; margin: 0; padding: 0; }
.main-nav > li { position: relative; list-style: none; }
.main-nav a { position: relative; display: block; padding: 9px 0; font-size: 12px; font-weight: 600; color: rgba(255, 255, 255, .82); }
.main-nav > li > a::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 2px;
    left: 0;
    height: 1px;
    background: var(--cyan-light);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform .2s;
}
.main-nav a:hover, .main-nav .current-menu-item > a, .main-nav .current-menu-ancestor > a { color: white; }
.main-nav > li > a:hover::after, .main-nav .current-menu-item > a::after, .main-nav .current-menu-ancestor > a::after { transform: scaleX(1); transform-origin: left; }
.main-nav .sub-menu {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    left: -22px;
    min-width: 230px;
    margin: 0;
    padding: 14px;
    border: 1px solid rgba(184, 194, 200, .18);
    border-radius: 10px;
    background: rgba(16, 28, 39, .98);
    box-shadow: 0 18px 42px rgba(0, 0, 0, .2);
}
.main-nav .sub-menu li { list-style: none; }
.main-nav .sub-menu a { padding: 9px 10px; border-radius: 5px; }
.main-nav .sub-menu a:hover { background: rgba(72, 149, 161, .14); }
.main-nav li:hover > .sub-menu, .main-nav li:focus-within > .sub-menu { display: grid; }
.header-cta { min-height: 42px; padding: 8px 16px; font-size: 11px; }
.nav-toggle { display: none; width: 42px; height: 42px; padding: 0; border: 0; background: transparent; color: white; cursor: pointer; }
.nav-toggle span { display: block; width: 24px; height: 1px; margin: 6px auto; background: currentColor; transition: transform .2s; }
.nav-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }

/* Home hero */
.hero { position: relative; overflow: hidden; isolation: isolate; }
.hero-full { min-height: 100svh; display: flex; align-items: center; background: #0B151E; color: white; }
.hero-background-video { position: absolute; z-index: -3; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.9) contrast(1.02); }
.hero-overlay {
    position: absolute;
    z-index: -2;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(5, 12, 18, .35) 0%, rgba(5, 12, 18, .05) 35%, rgba(5, 12, 18, .3) 100%),
        linear-gradient(90deg, rgba(6, 14, 21, .94) 0%, rgba(9, 19, 28, .82) 34%, rgba(12, 25, 35, .36) 62%, rgba(12, 25, 35, .08) 100%);
}
.hero-content { min-height: 100svh; display: flex; align-items: center; position: relative; padding: 130px 0 80px; }
.hero-copy { max-width: 710px; text-shadow: 0 2px 25px rgba(0, 0, 0, .22); }
.hero-copy h1 { font-size: clamp(2.7rem, 5.15vw, 4.85rem); }
.hero-copy .lead { max-width: 650px; color: #D3DBDF; }
.hero-scroll { position: absolute; right: 0; bottom: 34px; display: inline-flex; align-items: center; gap: 11px; color: rgba(255, 255, 255, .65); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.hero-scroll span { width: 34px; height: 1px; background: var(--cyan-light); }

/* Partner introduction */
.partner-intro { background: white; }
.partner-intro-grid { display: grid; grid-template-columns: 1.02fr .98fr; gap: clamp(50px, 8vw, 110px); align-items: center; }
.partner-copy h2 { max-width: 700px; }
.partner-copy > p:not(.lead) { color: var(--muted); max-width: 690px; }
.partner-points { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.partner-points span { padding: 9px 12px; border: 1px solid var(--line); border-radius: 999px; background: white; color: #405B67; font-size: 11px; font-weight: 700; }
.partner-visual {
    position: relative;
    min-height: 420px;
    margin: 0;
    padding: 56px;
    display: flex;
    align-items: center;
    background: var(--soft);
    overflow: hidden;
}
.partner-visual::after { content: ""; position: absolute; right: 0; bottom: 0; width: 38%; height: 3px; background: var(--cyan); }
.partner-visual img { width: 118%; max-width: none; margin-left: -8%; }
.partner-visual figcaption { position: absolute; right: 36px; bottom: 28px; left: 36px; padding-top: 14px; border-top: 1px solid #C5D3D7; color: #526974; font-size: 11px; font-weight: 600; }

/* Portfolio slider */
.portfolio-showcase { position: relative; overflow: hidden; background: #101C27; color: white; }
.portfolio-showcase::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(110deg, transparent 45%, rgba(72, 149, 161, .08)); }
.portfolio-showcase .wrap { position: relative; }
.portfolio-topline { display: flex; justify-content: space-between; gap: 30px; padding-bottom: 20px; margin-bottom: 45px; border-bottom: 1px solid rgba(184, 194, 200, .16); }
.portfolio-topline .eyebrow { margin: 0; }
.portfolio-topline > span { color: #8FA2AC; font-size: 10px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.portfolio-showcase h2 { color: white; max-width: 790px; }
.portfolio-showcase .lead { color: #ADBCC3; }
.logo-slider { display: grid; grid-template-columns: 48px minmax(0, 1fr) 48px; gap: 12px; align-items: center; margin-top: 52px; }
.logo-marquee { overflow-x: auto; overflow-y: hidden; padding: 20px 0; border-block: 1px solid rgba(184, 194, 200, .14); cursor: grab; scrollbar-width: none; touch-action: pan-y; }
.logo-marquee::-webkit-scrollbar { display: none; }
.logo-marquee.dragging { cursor: grabbing; user-select: none; }
.logo-track { display: flex; width: max-content; gap: 18px; }
.client-logo { flex: 0 0 202px; height: 138px; display: grid; place-items: center; border: 1px solid rgba(255, 255, 255, .12); background: rgba(244, 247, 248, .96); color: var(--blue); transition: background .22s, border-color .22s, transform .22s; }
.client-logo:hover { z-index: 1; border-color: var(--cyan); background: var(--cyan); transform: scale(1.035); }
.logo-placeholder { display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; transition: transform .22s; }
.client-logo:hover .logo-placeholder { transform: scale(1.035); }
.logo-placeholder b { font: 600 16px Orbitron, sans-serif; letter-spacing: .15em; }
.logo-placeholder small { max-width: 160px; font-size: 11px; font-weight: 700; }
.logo-placeholder em { color: #68808A; font-size: 8px; font-style: normal; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.client-logo:hover .logo-placeholder em { color: rgba(19, 29, 41, .7); }
.slider-arrow { width: 48px; height: 48px; border: 1px solid rgba(255, 255, 255, .22); border-radius: 50%; background: transparent; color: white; font-size: 18px; cursor: pointer; transition: background .2s, border-color .2s, transform .2s; }
.slider-arrow:hover { border-color: var(--cyan); background: var(--cyan); transform: scale(1.05); }
.portfolio-foot { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 14px; }
.portfolio-foot p { margin: 0; color: #8FA2AC; font-size: 11px; }
.portfolio-foot a { color: var(--cyan-light); font-size: 12px; font-weight: 700; }

/* Featured case */
.case-study-section { background: white; }
.case-study { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(50px, 8vw, 110px); align-items: center; }
.case-study-copy .lead { margin-bottom: 32px; }
.case-facts { margin: 0 0 30px; }
.case-facts > div { display: grid; grid-template-columns: 95px 1fr; gap: 18px; padding: 17px 0; border-top: 1px solid var(--line); }
.case-facts dt { color: #337A85; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.case-facts dd { margin: 0; color: var(--muted); font-size: 14px; }
.case-study-visual { min-height: 510px; padding: clamp(28px, 5vw, 66px); display: grid; place-items: center; background: var(--blue); }
.browser-frame { width: 100%; overflow: hidden; border-radius: 8px; background: white; box-shadow: 0 28px 65px rgba(3, 10, 17, .28); transform: rotate(1deg); }
.browser-bar { height: 32px; display: flex; align-items: center; gap: 5px; padding: 0 12px; background: #E6ECEE; }
.browser-bar i { width: 6px; height: 6px; border-radius: 50%; background: #9BAAB0; }
.browser-content { min-height: 305px; padding: 54px 46px; background: linear-gradient(130deg, #F7FAFA 0 56%, #E1EBED 56%); }
.browser-content > span { display: block; margin-bottom: 24px; color: var(--cyan); font: 600 11px Orbitron, sans-serif; letter-spacing: .22em; }
.browser-content > strong { display: block; max-width: 320px; color: var(--blue); font: 600 clamp(1.7rem, 3vw, 2.7rem)/1.08 Montserrat, sans-serif; letter-spacing: -.05em; }
.browser-lines { display: grid; gap: 9px; margin-top: 34px; }
.browser-lines i { width: 44%; height: 5px; background: #B7C7CC; }
.browser-lines i:nth-child(2) { width: 34%; }
.browser-lines i:nth-child(3) { width: 39%; }

/* Home services */
.service-preview-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.service-preview-card { overflow: hidden; background: white; border: 1px solid var(--line); transition: transform .25s, box-shadow .25s; }
.service-preview-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.service-preview-image { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--blue); }
.service-preview-image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.78); transition: transform .45s, filter .35s; }
.service-preview-card:hover img { transform: scale(1.025); filter: saturate(.95); }
.service-preview-body { padding: 28px; }
.service-preview-body > span { display: block; margin-bottom: 25px; color: #3A7F8A; font: 500 10px Orbitron, sans-serif; }
.service-preview-body p { min-height: 80px; color: var(--muted); font-size: 14px; }

/* Trust + method */
.trust-section { background: white; }
.trust-intro { display: grid; grid-template-columns: .6fr 1.4fr; gap: 50px; align-items: end; padding-bottom: 42px; border-bottom: 1px solid var(--line); }
.trust-intro .eyebrow { align-self: start; }
.trust-intro h2 { max-width: 780px; margin: 0; }
.trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.trust-grid > div { padding: 30px 28px 0 0; }
.trust-grid > div + div { padding-left: 28px; border-left: 1px solid var(--line); }
.trust-grid span { display: block; margin-bottom: 36px; color: #3B7E88; font: 500 10px Orbitron, sans-serif; }
.trust-grid strong { display: block; margin-bottom: 9px; font-size: 16px; }
.trust-grid p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.method-section h2 { color: white; }
.steps { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(184, 194, 200, .18); }
.step { min-height: 230px; padding: 30px 28px 28px 0; }
.step + .step { padding-left: 28px; border-left: 1px solid rgba(184, 194, 200, .18); }
.step > span { display: block; margin-bottom: 55px; color: var(--cyan-light); font: 500 10px Orbitron, sans-serif; }
.step h3 { color: white; }
.step p { max-width: 240px; margin: 0; font-size: 13px; }

/* FAQ */
.faq-section { background: white; }
.faq-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(50px, 8vw, 120px); align-items: start; }
.faq-layout > div:first-child > p { color: var(--muted); }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { position: relative; padding: 23px 44px 23px 0; color: var(--blue); font-weight: 700; list-style: none; cursor: pointer; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; position: absolute; top: 20px; right: 4px; color: var(--cyan); font-size: 22px; font-weight: 400; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { max-width: 680px; padding: 0 44px 22px 0; margin: 0; color: var(--muted); font-size: 14px; }
.faq-list-dark { border-color: rgba(184, 194, 200, .18); }
.faq-list-dark details { border-color: rgba(184, 194, 200, .18); }
.faq-list-dark summary { color: white; }
.faq-list-dark details p { color: var(--muted-light); }

/* Contact form */
.home-contact { background: var(--blue); color: white; }
.home-contact-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(45px, 8vw, 110px); align-items: start; }
.home-contact h2 { color: white; }
.home-contact-copy > p { max-width: 570px; color: var(--muted-light); }
.contact-promise { display: grid; grid-template-columns: 36px 1fr; gap: 16px; padding-top: 22px; margin-top: 22px; border-top: 1px solid rgba(184, 194, 200, .18); }
.contact-promise > span { color: var(--cyan-light); font: 500 10px Orbitron, sans-serif; }
.contact-promise p { margin: 0; color: var(--muted-light); font-size: 13px; }
.contact-promise strong { color: white; }
.home-contact-form, .form-panel { padding: clamp(28px, 4vw, 46px); background: white; color: var(--blue); box-shadow: var(--shadow); }
.form { display: grid; gap: 18px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.form label:not(.check) { display: grid; gap: 7px; }
.form label > span:first-child { color: #405B67; font-size: 11px; font-weight: 700; }
.form input, .form select, .form textarea {
    width: 100%;
    min-height: 49px;
    padding: 12px 14px;
    border: 1px solid #C9D5D9;
    border-radius: 6px;
    background: white;
    color: var(--blue);
    font-size: 14px;
    outline: none;
    transition: border-color .2s, box-shadow .2s;
}
.form input:focus, .form select:focus, .form textarea:focus { border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(72, 149, 161, .12); }
.form input::placeholder, .form textarea::placeholder { color: #8A9AA1; opacity: 1; }
.form textarea { min-height: 130px; resize: vertical; }
.form .check { display: flex; align-items: flex-start; gap: 10px; color: #60747D; font-size: 11px; line-height: 1.55; }
.form .check input { flex: 0 0 auto; width: 15px; min-height: 15px; margin-top: 2px; }
.form .check a { color: #2F7580; text-decoration: underline; text-underline-offset: 2px; }
.form .btn { justify-self: start; }
.form-trap { position: absolute !important; left: -9999px !important; }
.notice { padding: 13px 15px; margin: 0; border-left: 3px solid var(--cyan); background: #E2EFF1; color: #2E626B; font-size: 13px; }

/* Generic pages */
.page-hero { position: relative; overflow: hidden; padding: 190px 0 110px; background: linear-gradient(120deg, #101B26, #203348); color: white; }
.page-hero::after { content: ""; position: absolute; right: -8%; bottom: 0; width: 50%; height: 1px; background: linear-gradient(90deg, transparent, var(--cyan-light)); }
.page-hero h1 { max-width: 980px; color: white; font-size: clamp(2.65rem, 5.4vw, 5rem); }
.page-hero .lead { max-width: 840px; margin: 0; color: #C0CBD0; }
.content { max-width: 1120px; }
.content > h2 { max-width: 820px; margin-top: 70px; }
.content > h2:first-child { margin-top: 0; }
.content p, .content li { color: var(--muted); }
.grid-3, .grid-4, .project-grid { display: grid; gap: 20px; margin-top: 42px; }
.grid-3 { grid-template-columns: repeat(3, 1fr); }
.grid-4 { grid-template-columns: repeat(4, 1fr); }
.project-grid { grid-template-columns: repeat(3, 1fr); }
.card { padding: 30px; border: 1px solid var(--line); background: white; }
.card p, .card li { color: var(--muted); }
.card a { color: #2F7580; font-weight: 700; }
.service-list { columns: 2; gap: 32px; }
.project-showcase { min-height: 380px; margin-top: 28px; display: grid; place-items: center; padding: 40px; border: 1px solid var(--line); background: white; color: var(--muted); text-align: center; }

/* Services page */
.service-introduction { background: white; }
.service-detail-list { padding-top: 35px; }
.service-detail { display: grid; grid-template-columns: .94fr 1.06fr; gap: clamp(48px, 8vw, 110px); align-items: center; padding: 86px 0; border-bottom: 1px solid #CBD8DC; }
.service-detail:last-child { border-bottom: 0; }
.service-detail-reverse .service-detail-image { order: 2; }
.service-detail-image { position: relative; min-height: 570px; overflow: hidden; background: var(--blue); }
.service-detail-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(.8); }
.service-detail-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 64%, rgba(8, 18, 27, .65)); }
.service-detail-image > span { position: absolute; z-index: 1; right: 25px; bottom: 22px; left: 25px; color: white; font: 400 9px Audiowide, sans-serif; letter-spacing: .18em; }
.service-detail-copy h2 { font-size: clamp(2rem, 3.3vw, 3.15rem); }
.service-checklist { margin: 30px 0; padding: 0; list-style: none; border-top: 1px solid #CBD8DC; }
.service-checklist li { display: grid; grid-template-columns: 170px 1fr; gap: 24px; padding: 15px 0; border-bottom: 1px solid #CBD8DC; }
.service-checklist strong { color: var(--blue); font-size: 12px; }
.service-checklist span { color: var(--muted); font-size: 12px; }
.service-outcome { display: grid; grid-template-columns: 76px 1fr; gap: 18px; margin: 28px 0; }
.service-outcome > span { color: #337A85; font: 400 9px Audiowide, sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.service-outcome p { margin: 0; color: var(--blue); font-size: 13px; font-weight: 600; }
.integration-section { background: white; }
.integration-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.integration-grid article { min-height: 250px; padding: 32px 30px; }
.integration-grid article + article { border-left: 1px solid var(--line); }
.integration-grid span { display: block; margin-bottom: 62px; color: #337A85; font: 500 10px Orbitron, sans-serif; }
.integration-grid p { color: var(--muted); font-size: 13px; }
.service-faq h2 { color: white; }

/* Contact page */
.contact-overview { background: white; }
.contact-cards { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.contact-cards article { min-height: 220px; padding: 28px 24px; }
.contact-cards article + article { border-left: 1px solid var(--line); }
.contact-cards > article > span { display: block; margin-bottom: 42px; color: #337A85; font: 500 9px Orbitron, sans-serif; }
.contact-cards h3 { font-size: 15px; }
.contact-cards p { color: var(--muted); font-size: 13px; }
.contact-cards a { color: #2F7580; font-size: 12px; font-weight: 700; }
.contact-cards small { color: #8899A0; font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.placeholder-data { color: #6F8189 !important; font-style: italic; }
.contact-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(50px, 8vw, 110px); align-items: start; }
.contact-form-copy { position: sticky; top: 110px; }
.contact-note { padding-top: 20px; margin-top: 26px; border-top: 1px solid #CBD8DC; }
.contact-note strong { display: block; margin-bottom: 7px; font-size: 13px; }
.contact-note p { color: var(--muted); font-size: 12px; }
.location-section { background: white; }
.location-panel { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(45px, 8vw, 100px); align-items: center; }
.location-panel > div:first-child > p { max-width: 580px; color: var(--muted); }
.map-placeholder { position: relative; min-height: 410px; display: flex; flex-direction: column; align-items: center; justify-content: center; overflow: hidden; background-color: #E8EFF1; background-image: linear-gradient(#D4E0E3 1px, transparent 1px), linear-gradient(90deg, #D4E0E3 1px, transparent 1px); background-size: 46px 46px; text-align: center; }
.map-placeholder::before, .map-placeholder::after { content: ""; position: absolute; width: 150%; height: 2px; background: white; transform: rotate(-17deg); }
.map-placeholder::after { transform: rotate(28deg); }
.map-placeholder span { z-index: 1; width: 28px; height: 28px; margin-bottom: 14px; border: 8px solid var(--cyan); border-radius: 50% 50% 50% 0; background: white; transform: rotate(-45deg); }
.map-placeholder strong, .map-placeholder small { position: relative; z-index: 1; padding: 5px 10px; background: rgba(232, 239, 241, .92); }
.map-placeholder strong { color: var(--blue); font-size: 14px; }
.map-placeholder small { color: var(--muted); font-size: 10px; }

/* Portfolio page */
.portfolio-intro { max-width: 800px; margin-bottom: 50px; }
.portfolio-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.portfolio-item { min-height: 250px; padding: 24px; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto 1fr auto; gap: 18px 24px; overflow: hidden; border: 1px solid var(--line); background: white; transition: transform .22s, border-color .22s, background .22s; }
.portfolio-item:hover { border-color: var(--cyan); background: #F0F7F8; transform: translateY(-3px); }
.portfolio-index { color: #6E828B; font: 500 10px Orbitron, sans-serif; }
.portfolio-logo { grid-column: 1 / -1; min-height: 110px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; border: 1px dashed #B7C8CD; }
.portfolio-logo b { font: 600 18px Orbitron, sans-serif; letter-spacing: .15em; }
.portfolio-logo small { font-weight: 700; }
.portfolio-meta { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.portfolio-meta em { font-size: 10px; font-style: normal; letter-spacing: .1em; text-transform: uppercase; }
.portfolio-meta strong { color: #2F7580; font-size: 12px; }

/* CTA + footer */
.cta { background: var(--blue); color: white; text-align: center; }
.cta h2 { max-width: 900px; margin-inline: auto; color: white; }
.cta .lead { color: var(--muted-light); }
.site-footer { padding: 82px 0 25px; background: #0C151E; color: white; }
.footer-grid { display: grid; grid-template-columns: 1.4fr .75fr .9fr 1fr; gap: clamp(35px, 6vw, 75px); }
.footer-brand { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.footer-brand > a { display: block; }
.footer-logo { width: 220px; max-height: 63px; object-fit: contain; object-position: left center; }
.footer-slogan { width: 245px; padding: 8px 10px; background: rgba(244, 247, 248, .94); }
.footer-brand p { max-width: 330px; color: #8FA0A9; font-size: 12px; }
.site-footer h3 { margin: 4px 0 20px; color: white; font-size: 11px; letter-spacing: .09em; text-transform: uppercase; }
.site-footer a, .site-footer > .wrap > .footer-grid > div > p { display: block; margin: 9px 0; color: #A7B3B9; font-size: 12px; }
.site-footer a:hover { color: white; }
.footer-contact p { color: #A7B3B9; font-size: 11px; }
.footer-contact p span { display: block; color: #6F838D; font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 58px; padding-top: 20px; border-top: 1px solid rgba(184, 194, 200, .16); color: #72848D; font-size: 10px; }
.footer-bottom nav { display: flex; gap: 20px; }
.footer-bottom a { margin: 0; font-size: 10px; }
.cookie { position: fixed; z-index: 200; right: 18px; bottom: 18px; left: 18px; max-width: 760px; margin: auto; padding: 16px 18px; display: none; align-items: center; justify-content: space-between; gap: 24px; border: 1px solid var(--line-dark); background: #101C27; color: white; box-shadow: 0 20px 60px rgba(0, 0, 0, .28); }
.cookie.show { display: flex; }
.cookie p { margin: 0; color: #AAB8BE; font-size: 11px; }
.cookie p a { color: white; text-decoration: underline; }
.cookie .btns { flex-wrap: nowrap; margin: 0; }
.cookie .btn { width: auto; min-height: 38px; padding: 7px 12px; white-space: nowrap; font-size: 10px; }

.reveal { opacity: 0; transform: translateY(12px); transition: opacity .55s ease, transform .55s ease; }
.reveal.visible { opacity: 1; transform: none; }

@media (max-width: 1120px) {
    .main-nav {
        display: none;
        position: fixed;
        inset: 72px 0 0;
        padding: 34px max(30px, calc((100vw - var(--max)) / 2));
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        overflow-y: auto;
        background: var(--deep);
    }
    .main-nav.open { display: flex; }
    .main-nav > li { width: 100%; }
    .main-nav a { padding: 12px 0; font-size: 14px; }
    .main-nav .sub-menu { position: static; display: grid; width: 100%; padding: 3px 0 3px 18px; border: 0; background: transparent; box-shadow: none; }
    .main-nav .sub-menu a { color: var(--muted-light); font-size: 12px; }
    .header-cta { display: none; }
    .nav-toggle { display: block; }
    .service-preview-grid { grid-template-columns: 1fr 1fr; }
    .service-preview-card:last-child { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; }
    .service-preview-card:last-child .service-preview-image { aspect-ratio: auto; min-height: 350px; }
    .contact-cards { grid-template-columns: 1fr 1fr; }
    .contact-cards article:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
    .contact-cards article:nth-child(4) { border-top: 1px solid var(--line); }
}

@media (max-width: 900px) {
    .wrap { width: min(var(--max), calc(100% - 40px)); }
    .section-heading { display: block; }
    .section-heading .text-link { margin-top: 18px; }
    .split-heading, .partner-intro-grid, .case-study, .faq-layout, .home-contact-grid, .contact-grid, .location-panel { grid-template-columns: 1fr; }
    .partner-visual { min-height: 360px; }
    .case-study-copy { max-width: 720px; }
    .service-detail { grid-template-columns: 1fr; }
    .service-detail-reverse .service-detail-image { order: initial; }
    .service-detail-image { min-height: 480px; }
    .contact-form-copy { position: static; }
    .grid-3, .project-grid { grid-template-columns: 1fr 1fr; }
    .grid-4 { grid-template-columns: 1fr 1fr; }
    .trust-intro { grid-template-columns: 1fr; gap: 12px; }
    .trust-grid, .steps { grid-template-columns: 1fr 1fr; }
    .trust-grid > div:nth-child(3), .step:nth-child(3) { border-left: 0; }
    .trust-grid > div:nth-child(n+3), .step:nth-child(n+3) { border-top: 1px solid var(--line); }
    .step:nth-child(n+3) { border-color: rgba(184, 194, 200, .18); }
    .integration-grid { grid-template-columns: 1fr; }
    .integration-grid article + article { border-top: 1px solid var(--line); border-left: 0; }
    .integration-grid article { min-height: auto; }
    .integration-grid span { margin-bottom: 28px; }
    .footer-grid { grid-template-columns: 1.3fr 1fr 1fr; }
    .footer-contact { grid-column: 1 / -1; padding-top: 26px; border-top: 1px solid rgba(184, 194, 200, .16); }
}

.header-language { flex: 0 0 auto; display: grid; align-items: center; }
.header-language select {
    min-width: 72px;
    height: 38px;
    padding: 0 24px 0 10px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 999px;
    background: rgba(255,255,255,.07);
    color: white;
    font: 700 10px Montserrat, sans-serif;
    outline: none;
}
.header-language select:focus { border-color: var(--cyan-light); box-shadow: 0 0 0 3px rgba(102,181,192,.16); }
.header-language option { color: #17242D; }
.footer-languages { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 0; border-top: 1px solid rgba(255,255,255,.08); color: #DCE5E8; }
.footer-languages > span { color: var(--cyan-light); font-size: 9px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.footer-languages .gtranslate_wrapper { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px; }
.footer-languages a { color: #D7E0E4; font-size: 10px; font-weight: 700; text-transform: uppercase; }
.footer-languages a:hover { color: var(--cyan-light); }

@media (max-width: 1180px) {
    .header-language { margin-left: auto; }
    .header-cta { display: none; }
}

@media (max-width: 680px) {
    .header-language select { min-width: 64px; height: 36px; }
    .footer-languages { align-items: flex-start; flex-direction: column; }
    .footer-languages .gtranslate_wrapper { justify-content: flex-start; }
}

@media (max-width: 620px) {
    body { font-size: 15px; }
    .wrap { width: min(100% - 28px, var(--max)); }
    .section { padding: 76px 0; }
    .site-header, .site-header.scrolled { height: 68px; }
    .main-nav { inset: 68px 0 0; }
    .short-brand img { width: 178px; }
    .hero-content { align-items: flex-end; padding: 110px 0 82px; }
    .hero-background-video { object-position: center center; }
    .hero-overlay { background: linear-gradient(180deg, rgba(5, 12, 18, .46), rgba(5, 12, 18, .38)), linear-gradient(90deg, rgba(6, 14, 21, .88), rgba(12, 25, 35, .25)); }
    .hero-copy h1 { font-size: clamp(2.15rem, 10.3vw, 3.15rem); }
    .hero-copy .lead { font-size: 15px; }
    .hero-scroll { display: none; }
    .btns { width: 100%; }
    .btns .btn { width: 100%; }
    .partner-visual { min-height: 285px; padding: 34px 24px; }
    .partner-visual img { width: 130%; margin-left: -15%; }
    .partner-visual figcaption { right: 20px; bottom: 18px; left: 20px; font-size: 9px; }
    .portfolio-topline, .portfolio-foot { align-items: flex-start; flex-direction: column; }
    .portfolio-topline > span { line-height: 1.6; }
    .logo-slider { grid-template-columns: 39px minmax(0, 1fr) 39px; gap: 7px; margin-top: 34px; }
    .slider-arrow { width: 39px; height: 39px; font-size: 14px; }
    .client-logo { flex-basis: 156px; height: 116px; }
    .case-study-visual { min-height: 350px; padding: 24px; }
    .browser-content { min-height: 245px; padding: 38px 28px; }
    .service-preview-grid { grid-template-columns: 1fr; }
    .service-preview-card:last-child { grid-column: auto; display: block; }
    .service-preview-card:last-child .service-preview-image { min-height: 0; aspect-ratio: 4 / 3; }
    .service-preview-body p { min-height: 0; }
    .trust-grid, .steps, .grid-3, .grid-4, .project-grid, .portfolio-grid { grid-template-columns: 1fr; }
    .trust-grid > div, .trust-grid > div + div { padding: 24px 0; border-top: 1px solid var(--line); border-left: 0; }
    .trust-grid span { margin-bottom: 22px; }
    .step, .step + .step { min-height: 0; padding: 25px 0; border-top: 1px solid rgba(184, 194, 200, .18); border-left: 0; }
    .step > span { margin-bottom: 24px; }
    .form-row { grid-template-columns: 1fr; }
    .home-contact-form, .form-panel { padding: 24px 18px; }
    .form .btn { width: 100%; }
    .page-hero { padding: 146px 0 78px; }
    .page-hero h1 { font-size: clamp(2.2rem, 10vw, 3.35rem); overflow-wrap: anywhere; }
    .service-detail { padding: 62px 0; }
    .service-detail-image { min-height: 340px; }
    .service-checklist li { grid-template-columns: 1fr; gap: 5px; }
    .contact-cards { grid-template-columns: 1fr; }
    .contact-cards article + article, .contact-cards article:nth-child(3), .contact-cards article:nth-child(4) { border-top: 1px solid var(--line); border-left: 0; }
    .contact-cards article { min-height: 0; }
    .contact-cards > article > span { margin-bottom: 25px; }
    .map-placeholder { min-height: 330px; }
    .portfolio-meta { align-items: flex-start; flex-direction: column; gap: 6px; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .footer-brand, .footer-contact { grid-column: 1 / -1; }
    .footer-bottom { align-items: flex-start; flex-direction: column; }
    .cookie { align-items: flex-start; flex-direction: column; right: 10px; bottom: 10px; left: 10px; }
    .cookie .btns { width: 100%; }
    .cookie .btn { width: 50%; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
    .reveal { opacity: 1; transform: none; }
}

/* ZACCS 2.7 — full-bleed, app portfolio e Journal */
.hero-full,
.page-hero,
.company-hero-v3,
.contact-hero-v5 {
    margin-right: 0;
    margin-left: 0;
    border-radius: 0;
}
.hero-full,
.hero-content { min-height: 100svh; }
.site-footer {
    margin-right: 0;
    margin-left: 0;
    border-radius: 0;
}

.main-nav a:hover,
.main-nav a:focus-visible {
    background: rgba(102,181,192,.16);
    color: #E9FDFF;
    box-shadow: 0 0 8px rgba(102,181,192,.28), 0 0 24px rgba(72,149,161,.22);
    text-shadow: 0 0 14px rgba(130,226,238,.78);
}
.main-nav .current-menu-item > a,
.main-nav .current-menu-ancestor > a { box-shadow: inset 0 0 0 1px rgba(255,255,255,.04); }

.footer-powered {
    display: grid;
    grid-template-columns: auto auto 1fr;
    gap: 16px;
    align-items: center;
    margin-top: 24px;
    padding: 22px 0 0;
    border-top: 1px solid rgba(202,220,226,.12);
}
.footer-powered > span { color: rgba(255,255,255,.42); font-size: 10px; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; }
.footer-powered > a { margin: 0; }
.footer-powered img { width: 132px; max-height: 34px; object-fit: contain; object-position: left center; }
.footer-powered p { justify-self: end; margin: 0; color: rgba(255,255,255,.42); font-size: 10px; }

/* Progetti: siti + applicazioni */
.projects-websites-section { background: #F5F5F7; }
.projects-websites-section .content { max-width: var(--max); }
.projects-apps-section { position: relative; overflow: hidden; background: #E9EEF0; }
.projects-apps-section::before { content: ""; position: absolute; top: -260px; right: -180px; width: 620px; height: 620px; border-radius: 50%; background: rgba(72,149,161,.12); filter: blur(55px); }
.projects-apps-section .wrap { position: relative; }
.projects-apps-heading { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(50px,8vw,112px); align-items: end; margin-bottom: 62px; }
.projects-apps-heading h2 { max-width: 750px; }
.projects-apps-heading .lead { margin: 0; }
.projects-app-grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 16px; }
.project-app-card { grid-column: span 4; min-height: 440px; display: flex; flex-direction: column; padding: 26px; overflow: hidden; border-radius: 28px; background: rgba(255,255,255,.86); box-shadow: 0 4px 18px rgba(22,38,51,.055); transition: transform .25s, box-shadow .25s; }
.project-app-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-hover); }
.project-app-card-featured { grid-column: span 8; display: grid; grid-template-columns: .72fr 1.28fr; grid-template-rows: 1fr auto; column-gap: clamp(35px,5vw,76px); min-height: 470px; padding: clamp(30px,5vw,58px); background: #17242D; color: white; }
.project-app-icon { width: 110px; height: 110px; padding: 8px; border-radius: 27px; background: #17242D; box-shadow: 0 18px 38px rgba(20,40,52,.18); }
.project-app-icon img { width: 100%; height: 100%; border-radius: 20px; object-fit: cover; }
.project-app-card-featured .project-app-icon { grid-row: 1 / 3; align-self: center; width: min(235px,100%); height: auto; aspect-ratio: 1; padding: 13px; border-radius: 48px; background: rgba(255,255,255,.1); box-shadow: 0 32px 68px rgba(0,0,0,.24); }
.project-app-card-featured .project-app-icon img { border-radius: 37px; }
.project-app-copy { display: flex; flex: 1; flex-direction: column; }
.project-app-copy > span { display: block; margin: 25px 0 auto; color: #42838D; font-size: 10px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.project-app-card-featured .project-app-copy > span { margin-top: 0; color: #86CBD5; }
.project-app-copy h3 { margin-top: 24px; font-size: clamp(1.75rem,3vw,2.75rem); }
.project-app-card-featured h3 { color: white; font-size: clamp(2.4rem,4.5vw,4.2rem); }
.project-app-copy p { color: var(--muted); font-size: 13px; }
.project-app-card-featured p { max-width: 650px; color: #B7C5CA; font-size: 14px; }
.project-app-copy ul { display: flex; flex-wrap: wrap; gap: 7px; margin: 22px 0 0; padding: 0; list-style: none; }
.project-app-copy li { padding: 7px 10px; border-radius: 999px; background: rgba(72,149,161,.1); color: #416A73; font-size: 9px; font-weight: 700; }
.project-app-card-featured li { background: rgba(102,181,192,.13); color: #C8E4E8; }
.project-app-card > small { display: block; margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--line); color: #87949A; font-size: 9px; font-weight: 650; text-transform: uppercase; }
.project-app-card-featured > small { border-color: rgba(255,255,255,.12); color: #87A0A9; }
.project-app-idea { grid-column: span 8; min-height: 340px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: clamp(36px,6vw,70px); border-radius: 28px; background: radial-gradient(circle at 80% 20%,rgba(102,181,192,.2),transparent 32%),linear-gradient(145deg,#397E89,#294758); color: white; }
.project-app-idea > span { color: #C8E5E9; font-size: 10px; font-weight: 700; text-transform: uppercase; }
.project-app-idea h3 { max-width: 780px; margin: 22px 0 30px; color: white; font-size: clamp(2rem,4vw,3.5rem); }

/* Journal archive */
.news-archive-hero,
.journal-single-hero {
    position: relative;
    overflow: hidden;
    padding: 185px 0 120px;
    background: radial-gradient(circle at 80% 15%,rgba(102,181,192,.2),transparent 34%),linear-gradient(145deg,#F8FAFA,#E7EFF0);
}
.news-archive-hero::after,
.journal-single-hero::after { content: ""; position: absolute; right: 7%; bottom: -180px; width: 430px; height: 430px; border: 1px solid rgba(72,149,161,.14); border-radius: 50%; }
.news-archive-hero .wrap,
.journal-single-hero .wrap { position: relative; z-index: 1; }
.news-archive-hero h1 { max-width: 1030px; font-size: clamp(3.2rem,6.5vw,6.3rem); }
.news-archive-hero .lead { max-width: 850px; }
.news-archive-section { background: #F5F5F7; }
.news-featured { display: grid; grid-template-columns: 1.08fr .92fr; min-height: 530px; overflow: hidden; border-radius: 32px; background: white; box-shadow: var(--shadow); }
.news-featured-visual,
.news-card-visual { position: relative; display: block; overflow: hidden; background: #CFE0E3; }
.news-featured-visual > img,
.news-card-visual > img { width: 100%; height: 100%; object-fit: cover; }
.news-featured-visual > span,
.news-card-visual > span { position: absolute; inset: 0; display: block; }
.news-featured-visual > span::before,
.news-card-visual > span::before { content: ""; position: absolute; width: 42%; aspect-ratio: 1; right: 12%; top: 14%; border: 1px solid rgba(255,255,255,.36); border-radius: 36%; transform: rotate(18deg); }
.news-featured-visual > span::after,
.news-card-visual > span::after { content: ""; position: absolute; left: 10%; right: 10%; bottom: 15%; height: 1px; background: rgba(255,255,255,.45); transform: rotate(-11deg); }
.news-visual-intelligenza-artificiale { background: radial-gradient(circle at 70% 34%,rgba(255,255,255,.34),transparent 16%),linear-gradient(145deg,#1B3445,#4895A1); }
.news-visual-cybersecurity { background: radial-gradient(circle at 28% 70%,rgba(102,181,192,.38),transparent 20%),linear-gradient(145deg,#101820,#365A6B); }
.news-visual-infrastruttura-it,
.news-visual-default { background: radial-gradient(circle at 72% 28%,rgba(255,255,255,.3),transparent 17%),linear-gradient(145deg,#739AA3,#203348); }
.news-featured-visual > small { position: absolute; top: 24px; left: 24px; padding: 8px 11px; border-radius: 999px; background: rgba(17,28,36,.72); color: white; font-size: 9px; font-weight: 700; backdrop-filter: blur(12px); }
.news-featured-copy { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: clamp(38px,6vw,76px); }
.news-archive-meta { margin-bottom: 24px; color: #3C7D87; font-size: 10px; font-weight: 700; letter-spacing: .035em; text-transform: uppercase; }
.news-featured-copy h2 { font-size: clamp(2.1rem,4vw,3.8rem); }
.news-featured-copy > p { color: var(--muted); }
.news-featured-copy .text-link { margin-top: 20px; }
.news-archive-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-top: 52px; }
.news-archive-card { overflow: hidden; border-radius: 28px; background: white; box-shadow: 0 4px 18px rgba(22,38,51,.055); transition: transform .25s,box-shadow .25s; }
.news-archive-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-hover); }
.news-card-visual { aspect-ratio: 1.7/1; }
.news-card-copy { padding: 32px; }
.news-card-copy h3 { font-size: clamp(1.45rem,2.5vw,2.1rem); }
.news-card-copy > p { color: var(--muted); font-size: 13px; }
.news-card-copy .text-link { margin-top: 12px; }
.news-pagination { margin-top: 52px; }
.news-pagination .nav-links { display: flex; gap: 8px; justify-content: center; }
.news-pagination a,
.news-pagination .current { min-width: 42px; height: 42px; display: grid; place-items: center; padding: 0 14px; border-radius: 999px; background: white; color: var(--blue); font-size: 11px; font-weight: 700; }
.news-pagination .current { background: var(--cyan); color: white; }

/* Journal single */
.journal-single-hero { padding-bottom: 105px; }
.journal-single-head { max-width: 1050px; }
.journal-back { display: inline-flex; margin-bottom: 55px; color: #3B7780; font-size: 12px; font-weight: 700; }
.journal-single-hero h1 { max-width: 980px; font-size: clamp(3rem,6vw,5.8rem); }
.journal-single-hero .lead { max-width: 850px; }
.journal-reading { margin-top: 32px; color: #718088; font-size: 11px; font-weight: 650; }
.journal-layout { display: grid; grid-template-columns: 220px minmax(0,760px); gap: clamp(55px,9vw,130px); align-items: start; padding-top: 95px; padding-bottom: 120px; }
.journal-aside { position: sticky; top: 105px; padding-top: 20px; border-top: 1px solid var(--line); }
.journal-aside span { color: #3E7F89; font-size: 10px; font-weight: 700; text-transform: uppercase; }
.journal-aside p { margin-top: 18px; color: var(--muted); font-size: 12px; }
.journal-aside a { color: #347681; font-size: 11px; font-weight: 700; }
.journal-content { color: #34434B; font-size: 18px; line-height: 1.78; }
.journal-content > p:first-child { color: var(--blue); font-size: 23px; line-height: 1.55; letter-spacing: -.02em; }
.journal-content h2 { margin: 70px 0 22px; font-size: clamp(2rem,3.6vw,3rem); }
.journal-content h3 { margin: 42px 0 16px; font-size: 1.45rem; }
.journal-content ul,
.journal-content ol { margin: 24px 0; padding-left: 24px; }
.journal-content li { margin: 10px 0; padding-left: 6px; }
.journal-content blockquote { margin: 45px 0; padding: 30px; border: 0; border-radius: 22px; background: #E7EFF0; color: #294B55; font-size: 21px; font-weight: 600; line-height: 1.5; }
.journal-content a { color: #2E7580; text-decoration: underline; text-underline-offset: 3px; }
.journal-content .article-sources { margin-top: 70px; padding: 28px; border-radius: 22px; background: #F0F3F4; }
.journal-content .article-sources h3 { margin-top: 0; }
.journal-related { background: #E9EEF0; }

@media (max-width:980px) {
    .projects-apps-heading { grid-template-columns: 1fr; gap: 22px; }
    .project-app-card { grid-column: span 6; }
    .project-app-card-featured,
    .project-app-idea { grid-column: 1/-1; }
    .news-featured { grid-template-columns: 1fr; }
    .news-featured-visual { min-height: 390px; }
    .journal-layout { grid-template-columns: 1fr; }
    .journal-aside { position: static; max-width: 580px; }
}

@media (max-width:700px) {
    .hero-full,
    .page-hero,
    .company-hero-v3,
    .contact-hero-v5 { margin-inline: 0; border-radius: 0; }
    .site-footer { margin-inline: 0; border-radius: 0; }
    .footer-powered { grid-template-columns: auto 1fr; }
    .footer-powered p { grid-column: 1/-1; justify-self: start; }
    .projects-app-grid { grid-template-columns: 1fr; }
    .project-app-card,
    .project-app-card-featured,
    .project-app-idea { grid-column: auto; }
    .project-app-card-featured { display: flex; }
    .project-app-card-featured .project-app-icon { width: 150px; align-self: flex-start; }
    .project-app-card { min-height: 0; border-radius: 24px; }
    .project-app-idea { min-height: 310px; border-radius: 24px; }
    .news-archive-hero,
    .journal-single-hero { padding: 145px 0 85px; }
    .news-archive-grid { grid-template-columns: 1fr; }
    .news-featured { min-height: 0; border-radius: 24px; }
    .news-featured-visual { min-height: 270px; }
    .news-archive-card { border-radius: 24px; }
    .journal-back { margin-bottom: 38px; }
    .journal-layout { padding-top: 70px; padding-bottom: 85px; }
    .journal-content { font-size: 17px; }
    .journal-content > p:first-child { font-size: 20px; }
}

/* ZACCS 2.1 — struttura più giovane, visuale e professionale */
.partner-copy > .text-link { margin-top: 25px; }
.partner-visual-clean { background: linear-gradient(145deg, #EAF1F2, #F8FAFA); }
.partner-visual-clean img { filter: drop-shadow(0 18px 30px rgba(32, 51, 72, .08)); }

.home-services { position: relative; overflow: hidden; }
.home-services::before { content: ""; position: absolute; top: -170px; right: -180px; width: 430px; height: 430px; border-radius: 50%; background: rgba(102, 181, 192, .1); filter: blur(1px); }
.home-services > .wrap { position: relative; }
.home-area-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.home-area-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid #CBD8DC; background: white; transition: transform .25s, box-shadow .25s, border-color .25s; }
.home-area-card:hover { transform: translateY(-5px); border-color: #AFC7CD; box-shadow: 0 24px 55px rgba(23, 43, 57, .11); }
.home-area-image { position: relative; display: block; aspect-ratio: 1.18 / 1; overflow: hidden; background: var(--deep); }
.home-area-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(6, 15, 23, .7)); }
.home-area-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s, filter .4s; }
.home-area-card:hover .home-area-image img { transform: scale(1.035); filter: saturate(1.08); }
.home-area-image > span { position: absolute; z-index: 1; right: 22px; bottom: 18px; left: 22px; color: white; font: 400 9px Audiowide, sans-serif; letter-spacing: .17em; text-transform: uppercase; }
.home-area-body { display: flex; flex: 1; flex-direction: column; padding: 28px; }
.home-area-body h3 { font-size: 1.35rem; }
.home-area-body > p { min-height: 105px; color: var(--muted); font-size: 13px; }
.home-area-body ul { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 25px; padding: 0; list-style: none; }
.home-area-body li { padding: 7px 9px; border-radius: 999px; background: #EAF2F3; color: #41616C; font-size: 9px; font-weight: 700; }
.home-area-body .text-link { margin-top: auto; }

/* Slider affidabile basato su trasformazione continua */
.logo-marquee { overflow: hidden !important; scroll-behavior: auto; }
.logo-track { display: flex; width: max-content; gap: 18px; transform: translate3d(0, 0, 0); will-change: transform; }
.logo-slider.is-paused .slider-status-dot { animation-play-state: paused; opacity: .45; }
.slider-status-dot { display: inline-block; width: 6px; height: 6px; margin-right: 5px; border-radius: 50%; background: var(--cyan-light); box-shadow: 0 0 0 5px rgba(102, 181, 192, .12); animation: sliderPulse 1.8s ease-in-out infinite; }
@keyframes sliderPulse { 50% { opacity: .45; transform: scale(.75); } }
.portfolio-showcase .client-logo { flex-basis: 218px; height: 142px; border-radius: 10px; }
.portfolio-showcase .client-logo:hover { transform: scale(1.025); }

.faq-intro-sticky { position: sticky; top: 105px; }
.faq-intro-sticky .text-link { margin-top: 14px; }
.home-contact-v2 { position: relative; overflow: hidden; background: linear-gradient(128deg, #152536, #203E51); }
.home-contact-v2::after { content: ""; position: absolute; right: -180px; bottom: -220px; width: 520px; height: 520px; border: 1px solid rgba(102, 181, 192, .2); border-radius: 50%; }
.home-contact-v2 .wrap { position: relative; z-index: 1; }
.contact-mini-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 42px; border-top: 1px solid rgba(184, 194, 200, .2); }
.contact-mini-grid > div { padding: 23px 18px 0 0; }
.contact-mini-grid > div + div { padding-left: 18px; border-left: 1px solid rgba(184, 194, 200, .2); }
.contact-mini-grid span { display: block; margin-bottom: 25px; color: var(--cyan-light); font: 500 9px Orbitron, sans-serif; }
.contact-mini-grid strong { display: block; margin-bottom: 6px; font-size: 12px; }
.contact-mini-grid p { margin: 0; color: #A8B8C0; font-size: 10px; line-height: 1.55; }
.form-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-bottom: 20px; margin-bottom: 23px; border-bottom: 1px solid var(--line); }
.form-heading span { color: #4A6570; font: 400 9px Audiowide, sans-serif; letter-spacing: .13em; text-transform: uppercase; }
.form-heading strong { font-size: 13px; }

/* Azienda */
.company-intro { background: white; }
.company-intro-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(50px, 8vw, 105px); align-items: center; }
.company-intro-copy > p:not(.lead) { max-width: 680px; color: var(--muted); }
.company-signature { display: flex; align-items: center; gap: 20px; padding-top: 22px; margin-top: 32px; border-top: 1px solid var(--line); }
.company-signature span { color: #337A85; font: 500 9px Orbitron, sans-serif; letter-spacing: .12em; }
.company-signature p { margin: 0; color: var(--muted); font-size: 11px; }
.company-image { position: relative; margin: 0; overflow: hidden; }
.company-image img { width: 100%; height: 100%; object-fit: cover; }
.company-image figcaption { position: absolute; right: 24px; bottom: 20px; left: 24px; padding: 12px 14px; background: rgba(14, 27, 38, .84); color: #D4DEE2; font-size: 10px; backdrop-filter: blur(10px); }
.company-image-light { min-height: 565px; }
.foundation-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-block: 1px solid #C8D6DA; }
.foundation-grid article { min-height: 285px; padding: 30px; }
.foundation-grid article + article { border-left: 1px solid #C8D6DA; }
.foundation-grid span, .company-why-grid > article > span { display: block; margin-bottom: 64px; color: #337A85; font: 500 9px Orbitron, sans-serif; }
.foundation-grid p { color: var(--muted); font-size: 13px; }
.company-why { background: white; }
.company-why-heading { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(45px, 8vw, 110px); align-items: end; margin-bottom: 52px; }
.company-why-heading .lead { margin: 0; }
.company-why-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.company-why-grid article { min-height: 285px; padding: 32px; border: 1px solid var(--line); background: #F7FAFA; transition: transform .23s, background .23s, color .23s; }
.company-why-grid article:hover { transform: translateY(-3px); background: var(--blue); color: white; }
.company-why-grid article:hover p, .company-why-grid article:hover em { color: #B8C6CC; }
.company-why-grid article:hover > span { color: var(--cyan-light); }
.company-why-grid p { max-width: 500px; color: var(--muted); font-size: 13px; }
.company-why-grid em { display: block; margin-top: 35px; color: #607984; font-size: 9px; font-style: normal; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.company-method-grid { display: grid; grid-template-columns: .92fr 1.08fr; gap: clamp(48px, 8vw, 105px); align-items: center; }
.company-method h2 { color: white; }
.company-method-copy > p { color: var(--muted-light); }
.company-method-steps { margin-top: 36px; border-top: 1px solid rgba(184, 194, 200, .18); }
.company-method-steps article { display: grid; grid-template-columns: 45px 1fr; gap: 18px; padding: 20px 0; border-bottom: 1px solid rgba(184, 194, 200, .18); }
.company-method-steps span { color: var(--cyan-light); font: 500 9px Orbitron, sans-serif; }
.company-method-steps h3 { margin-bottom: 4px; color: white; font-size: 15px; }
.company-method-steps p { margin: 0; color: #A9B8BF; font-size: 11px; }
.company-image-dark { min-height: 575px; background: #0A131D; }
.company-capabilities { background: white; }

/* Specifiche servizi */
.service-detail-image img { filter: saturate(.92); }
.service-checklist-rich li { grid-template-columns: 175px 1fr; padding: 13px 0; }
.service-deliverables { display: flex; flex-wrap: wrap; gap: 7px; margin: 25px 0 30px; }
.service-deliverables span { padding: 7px 9px; border-radius: 999px; background: #DFEBED; color: #365B66; font-size: 9px; font-weight: 700; }

/* Contatti giovani e mappa reale */
.page-hero-contatti { background: linear-gradient(115deg, #101B26 0%, #203348 58%, #2D5D69 120%); }
.contact-overview-v2 { position: relative; overflow: hidden; }
.contact-overview-v2::before { content: ""; position: absolute; top: 40px; right: -90px; width: 230px; height: 230px; border: 34px solid #E7F0F1; border-radius: 50%; }
.contact-overview-v2 .wrap { position: relative; }
.contact-lead { display: grid; grid-template-columns: 1.05fr .95fr; gap: 70px; align-items: end; margin-bottom: 52px; }
.contact-lead .lead { margin: 0; }
.contact-cards-v2 article { position: relative; overflow: hidden; transition: background .22s, color .22s; }
.contact-cards-v2 article::after { content: ""; position: absolute; right: -38px; bottom: -38px; width: 90px; height: 90px; border: 1px solid #BCD0D5; border-radius: 50%; }
.contact-cards-v2 article:hover { background: #EDF5F6; }
.contact-main-v2 { background: linear-gradient(128deg, #162838, #244A5D); color: white; }
.contact-main-v2 .contact-form-copy { position: sticky; top: 105px; }
.contact-main-v2 .contact-form-copy h2 { color: white; }
.contact-main-v2 .contact-form-copy > .lead { color: #BDCACF; }
.contact-flow { margin-top: 38px; border-top: 1px solid rgba(184, 194, 200, .2); }
.contact-flow > div { display: grid; grid-template-columns: 36px 1fr; gap: 15px; padding: 18px 0; border-bottom: 1px solid rgba(184, 194, 200, .2); }
.contact-flow span { color: var(--cyan-light); font: 500 9px Orbitron, sans-serif; }
.contact-flow p { margin: 0; color: #A9B8BF; font-size: 11px; }
.contact-flow strong { color: white; }
.company-data-note { margin-top: 25px; color: #93A6AF; font-size: 10px; }
.contact-main-v2 .placeholder-data { color: #A8B8BF !important; }
.real-map-section { background: white; }
.real-map-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 45px; margin-bottom: 34px; }
.real-map-heading p { color: var(--muted); }
.map-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.btn-outline-dark { border-color: #AFC0C6; background: transparent; color: var(--blue); }
.btn-outline-dark:hover { border-color: var(--blue); background: var(--blue); color: white; }
.real-map { height: 520px; overflow: hidden; border: 1px solid var(--line); background: #E6ECEE; }
.real-map iframe { width: 100%; height: 100%; border: 0; filter: saturate(.82) contrast(.96); }

/* Footer completo */
.site-footer-v2 { padding-top: 0; }
.footer-callout { display: flex; align-items: flex-end; justify-content: space-between; gap: 45px; padding: 62px 0 50px; border-bottom: 1px solid rgba(184, 194, 200, .16); }
.footer-callout > div > span { color: var(--cyan-light); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.footer-callout h2 { max-width: 730px; margin: 12px 0 0; color: white; font-size: clamp(1.8rem, 3.2vw, 3rem); }
.footer-brand-row { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 46px 0; border-bottom: 1px solid rgba(184, 194, 200, .16); }
.footer-logo-link { display: block; margin: 0 !important; }
.site-footer-v2 .footer-logo { width: 230px; }
.site-footer-v2 .footer-slogan-transparent { width: min(390px, 42vw); max-height: none; padding: 0; background: transparent; object-fit: contain; }
.footer-grid-v2 { grid-template-columns: 1.2fr .75fr .95fr 1.05fr; padding: 48px 0 42px; }
.footer-summary p { max-width: 330px; }
.footer-address { margin-top: 27px !important; color: #D0DADF !important; }
.footer-nav a { width: fit-content; }
.footer-map-links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.footer-map-links a { color: var(--cyan-light); font-size: 10px; font-weight: 700; }
.footer-map { position: relative; height: 250px; overflow: hidden; border: 1px solid rgba(184, 194, 200, .15); }
.footer-map iframe { width: 100%; height: 100%; border: 0; filter: grayscale(.45) saturate(.6) brightness(.7); pointer-events: none; }
.footer-map > a { position: absolute; inset: 0; display: flex; align-items: flex-end; margin: 0; padding: 24px; background: linear-gradient(180deg, transparent 50%, rgba(7, 15, 22, .86)); }
.footer-map > a span { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; color: #C6D1D6; font-size: 11px; }
.footer-map > a strong { color: white; font-size: 12px; }
.site-footer-v2 .footer-bottom { margin-top: 26px; }

@media (max-width: 980px) {
    .home-area-grid { grid-template-columns: 1fr; }
    .home-area-card { display: grid; grid-template-columns: .9fr 1.1fr; }
    .home-area-image { height: 100%; aspect-ratio: auto; }
    .home-area-body > p { min-height: 0; }
    .company-intro-grid, .company-method-grid { grid-template-columns: 1fr; }
    .company-image-light, .company-image-dark { min-height: 470px; }
    .company-why-heading, .contact-lead { grid-template-columns: 1fr; gap: 18px; }
    .footer-grid-v2 { grid-template-columns: 1.2fr 1fr 1fr; }
    .footer-contact { grid-column: auto; padding-top: 0; border-top: 0; }
    .footer-summary { grid-column: 1 / -1; padding-bottom: 25px; border-bottom: 1px solid rgba(184, 194, 200, .16); }
}

@media (max-width: 700px) {
    .home-area-card { display: block; }
    .home-area-image { aspect-ratio: 1.18 / 1; }
    .contact-mini-grid { grid-template-columns: 1fr; }
    .contact-mini-grid > div, .contact-mini-grid > div + div { padding: 18px 0; border-top: 1px solid rgba(184, 194, 200, .18); border-left: 0; }
    .contact-mini-grid span { margin-bottom: 12px; }
    .faq-intro-sticky, .contact-main-v2 .contact-form-copy { position: static; }
    .foundation-grid, .company-why-grid { grid-template-columns: 1fr; }
    .foundation-grid article { min-height: 0; }
    .foundation-grid article + article { border-top: 1px solid #C8D6DA; border-left: 0; }
    .foundation-grid span, .company-why-grid > article > span { margin-bottom: 32px; }
    .company-signature { align-items: flex-start; flex-direction: column; gap: 8px; }
    .company-image-light, .company-image-dark { min-height: 330px; }
    .service-checklist-rich li { grid-template-columns: 1fr; }
    .real-map-heading, .footer-callout, .footer-brand-row { align-items: flex-start; flex-direction: column; }
    .real-map { height: 380px; }
    .map-actions, .map-actions .btn { width: 100%; }
    .site-footer-v2 .footer-slogan-transparent { width: min(100%, 340px); }
    .footer-grid-v2 { grid-template-columns: 1fr 1fr; }
    .footer-summary, .footer-contact { grid-column: 1 / -1; }
    .footer-map { height: 210px; }
}

/* ZACCS 3.1 — Liquid editorial system */
html { scroll-behavior: smooth; }

.site-header,
.site-header.scrolled {
    background: rgba(31, 48, 59, .72);
    border-color: rgba(255, 255, 255, .18);
    box-shadow: 0 14px 48px rgba(20, 38, 48, .13), inset 0 1px 0 rgba(255,255,255,.08);
}
.main-nav { background: rgba(255,255,255,.06); }
.main-nav a:hover,
.main-nav .current-menu-item > a,
.main-nav .current-menu-ancestor > a { background: rgba(128,211,221,.16); box-shadow: inset 0 0 0 1px rgba(138,218,227,.12), 0 0 24px rgba(102,181,192,.12); }
.language-switcher summary {
    width: 122px;
    grid-template-columns: 17px 20px 1fr 8px;
    border-color: rgba(255,255,255,.16);
    background: rgba(255,255,255,.09);
}
.language-switcher summary strong { overflow: hidden; color: rgba(255,255,255,.7); font-size: 9px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.language-popover { padding: 12px; border-radius: 22px; background: rgba(31,47,58,.96); }
.language-option { min-height: 43px; }
.language-option:hover { background: rgba(133,211,220,.14); }

.hero-copy .hero-statement { margin-top: 0; }

/* Home partner: layered Earth and rocket */
.partner-intro {
    position: relative;
    min-height: clamp(650px, 78vw, 880px);
    display: grid;
    place-items: center;
    overflow: hidden;
    isolation: isolate;
    background:
        radial-gradient(circle at 50% 46%, rgba(255,255,255,.96), rgba(255,255,255,.72) 32%, transparent 59%),
        linear-gradient(150deg, #E2EAEC 0%, #F6F8F8 48%, #D9E5E7 100%);
}
.partner-intro::before { content: ""; position: absolute; inset: 8% 13%; z-index: -2; border: 1px solid rgba(52,113,125,.12); border-radius: 50%; transform: rotate(-12deg); }
.partner-earth,
.partner-rocket { position: absolute; z-index: -1; pointer-events: none; user-select: none; will-change: transform; }
.partner-earth { left: max(-280px,-17vw); bottom: max(-190px,-9vw); width: clamp(470px,55vw,900px); opacity: .78; transform: translate3d(0,calc(var(--scroll-progress,0) * -42px),0) rotate(calc(var(--scroll-progress,0) * 2deg)); filter: saturate(.75) contrast(.95); }
.partner-rocket { top: 12%; right: clamp(-110px,2vw,70px); width: clamp(240px,28vw,440px); opacity: .94; transform: translate3d(calc(var(--scroll-progress,0) * 22px),calc(var(--scroll-progress,0) * -64px),0) rotate(-4deg); filter: drop-shadow(0 25px 35px rgba(34,85,97,.15)); }
.partner-intro-v5 { position: relative; z-index: 2; display: grid; place-items: center; text-align: center; }
.partner-copy-v5 { max-width: 780px; padding: clamp(38px,6vw,76px); border: 1px solid rgba(255,255,255,.65); border-radius: 38px; background: rgba(250,252,252,.64); box-shadow: 0 30px 90px rgba(32,61,73,.1), inset 0 1px 0 white; backdrop-filter: blur(24px) saturate(125%); }
.partner-copy-v5 h2 { font-size: clamp(2.7rem,5.8vw,5.5rem); }
.partner-copy-v5 .lead { color: #334B56; }
.partner-copy-v5 > p:not(.lead) { max-width: 620px; margin-inline: auto; color: #66777E; }
.partner-copy-v5 .btn { margin-top: 18px; }
.partner-orbit-copy { position: absolute; top: calc(100% + 34px); color: #57737C; font-size: 9px; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; }

/* Home news and simplified contact */
.home-news-foot,
.news-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: auto; padding-top: 22px; }
.home-news-foot time,
.news-card-footer time { color: #809098; font-size: 9px; font-weight: 650; letter-spacing: .04em; }
.home-news-copy { display: flex; flex-direction: column; }
.home-contact-v2 { background: radial-gradient(circle at 15% 40%,rgba(102,181,192,.16),transparent 34%), #213844; }
.home-contact-copy { position: relative; min-height: 600px; display: flex; flex-direction: column; justify-content: center; }
.home-contact-copy > p { position: relative; z-index: 2; }
.home-contact-object { width: min(660px,112%); margin: -36px 0 -80px -13%; opacity: .76; transform: translate3d(0,calc(var(--scroll-progress,0) * -34px),0); filter: drop-shadow(0 24px 50px rgba(4,16,24,.13)); }
.home-contact-form { align-self: center; border-radius: 34px; }

/* Services: three areas first, then detail */
.services-overview-v5 { overflow: visible; margin-top: -52px; padding: 12px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; background: rgba(250,252,252,.88); }
.services-overview-v5 > a { min-width: 0; min-height: 360px; display: flex; flex-direction: column; align-items: flex-start; padding: 14px; border: 0; border-radius: 22px; background: rgba(236,241,242,.78); }
.services-overview-v5 > a + a { border-left: 0; }
.services-overview-v5 > a:hover { background: white; transform: translateY(-5px); box-shadow: 0 24px 60px rgba(27,53,65,.1); }
.services-overview-v5 img { width: 100%; aspect-ratio: 1.65/1; margin-bottom: 23px; border-radius: 16px; object-fit: cover; }
.services-overview-v5 span { padding: 0 10px; color: #1E323C; font-size: clamp(1.3rem,2.1vw,2rem); font-weight: 750; letter-spacing: -.04em; }
.services-overview-v5 p { padding: 0 10px; margin: 10px 0 22px; color: #67777F; font-size: 11px; line-height: 1.65; }
.services-overview-v5 em { margin-top: auto; padding: 0 10px 8px; color: #327580; font-size: 10px; font-style: normal; font-weight: 700; }
.services-overview-v5 em b { margin-left: 6px; }
.service-chapter-title .service-area-name { margin-bottom: 18px; font-size: clamp(3.4rem,7vw,7.2rem); line-height: .88; letter-spacing: -.065em; }
.service-chapter-title > h3 { max-width: 700px; margin-bottom: 20px; font-size: clamp(1.45rem,2.5vw,2.25rem); }
.service-chapter-dark .service-area-name,
.service-chapter-dark .service-chapter-title > h3 { color: white; }
.service-modern-item { grid-template-columns: 118px 1fr; }
.service-modern-item > span { display: none; }
.service-atlas-collage figcaption { display: none; }

/* Portfolio gateway and app icons */
.portfolio-gateway-v5 { padding-bottom: 46px; background: var(--paper); }
.portfolio-gateway-v5 .wrap { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.portfolio-gateway-v5 a { position: relative; min-height: 330px; display: grid; grid-template-columns: auto 1fr auto; gap: 25px; align-items: end; padding: clamp(28px,4vw,52px); overflow: hidden; border-radius: 34px; background: linear-gradient(145deg,#EEF3F4,#DCE8EA); color: var(--blue); box-shadow: 0 9px 34px rgba(28,53,65,.07); transition: transform .3s,box-shadow .3s; }
.portfolio-gateway-v5 a:nth-child(2) { background: radial-gradient(circle at 85% 18%,rgba(102,181,192,.3),transparent 30%), #1B2C36; color: white; }
.portfolio-gateway-v5 a:hover { transform: translateY(-7px); box-shadow: var(--shadow-hover); }
.portfolio-gateway-v5 a > span { align-self: start; color: #3A7D87; font-size: 10px; font-weight: 750; }
.portfolio-gateway-v5 small { color: #4F7881; font-size: 9px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.portfolio-gateway-v5 h2 { margin: 10px 0 12px; color: inherit; font-size: clamp(2.7rem,5vw,5rem); }
.portfolio-gateway-v5 p { max-width: 440px; margin: 0; color: inherit; opacity: .68; font-size: 13px; }
.portfolio-gateway-v5 b { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.65); color: #2F7480; }
.project-app-icon,
.project-app-card-featured .project-app-icon { width: 110px; height: 110px; padding: 0; border: 0; border-radius: 25px; background: transparent; box-shadow: none; }
.project-app-icon img,
.project-app-card-featured .project-app-icon img { width: 100%; height: 100%; border-radius: 24px; object-fit: cover; box-shadow: 0 15px 38px rgba(21,43,54,.12); }
.project-app-card { border-radius: 28px; }

/* News archive grid/list */
.news-archive-hero-v5 { min-height: 510px; display: flex; align-items: flex-end; padding: 170px 0 90px; background: radial-gradient(circle at 80% 18%,rgba(102,181,192,.21),transparent 33%), linear-gradient(145deg,#F8FAFA,#DFE9EB); color: var(--blue); }
.news-archive-hero-v5 h1 { max-width: 1120px; margin: 0; color: var(--blue); font-size: clamp(3.6rem,7.4vw,7.3rem); line-height: .93; }
.news-archive-section-v5 { background: #F3F5F5; }
.news-viewbar { display: flex; justify-content: space-between; align-items: center; gap: 28px; margin-bottom: 42px; }
.news-viewbar > p { max-width: 600px; margin: 0; color: #63747C; }
.news-view-controls { display: flex; gap: 5px; padding: 5px; border-radius: 999px; background: #E2E8E9; }
.news-view-controls button { min-height: 40px; display: flex; align-items: center; gap: 7px; padding: 8px 14px; border: 0; border-radius: 999px; background: transparent; color: #66777E; cursor: pointer; }
.news-view-controls button[aria-pressed="true"] { background: white; color: #255F69; box-shadow: 0 5px 18px rgba(24,50,61,.08); }
.news-view-controls svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.news-view-controls span { font-size: 9px; font-weight: 700; }
.news-collection-v5 { margin-top: 0; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.news-card-v5 { min-width: 0; border-radius: 28px; }
.news-card-v5 .news-card-visual { aspect-ratio: 1/1; }
.news-card-v5 .news-card-copy { min-height: 285px; display: flex; flex-direction: column; padding: 27px; }
.news-card-v5 h2 { margin-bottom: 15px; font-size: clamp(1.35rem,2.1vw,1.9rem); line-height: 1.08; }
.news-card-v5 .news-card-copy > p { margin: 0; }
.news-collection-v5[data-view="list"] { display: grid; grid-template-columns: 1fr; gap: 12px; }
.news-collection-v5[data-view="list"] .news-card-v5 { display: grid; grid-template-columns: minmax(210px,.34fr) minmax(0,1fr); min-height: 230px; }
.news-collection-v5[data-view="list"] .news-card-visual { height: 100%; aspect-ratio: auto; }
.news-collection-v5[data-view="list"] .news-card-copy { min-height: 230px; justify-content: center; padding: clamp(28px,5vw,54px); }
.news-collection-v5[data-view="list"] h2 { max-width: 780px; font-size: clamp(1.65rem,3vw,2.65rem); }

/* Single article with real cover */
.journal-single-hero { padding: 160px 0 78px; background: linear-gradient(145deg,#F8FAFA,#E4ECEE); color: var(--blue); }
.journal-single-head-v5 { max-width: 1320px; display: grid; grid-template-columns: minmax(0,1fr) minmax(390px,.78fr); gap: clamp(50px,7vw,100px); align-items: center; }
.journal-single-copy h1 { color: var(--blue); font-size: clamp(3rem,5.6vw,5.7rem); }
.journal-single-copy .lead { color: #5E7078; }
.journal-cover-v5 { aspect-ratio: 1/1; margin: 0; overflow: hidden; border-radius: 34px; background: white; box-shadow: var(--shadow); }
.journal-cover-v5 img { width: 100%; height: 100%; object-fit: cover; }
.journal-layout { padding-top: 94px; }
.journal-content { font-size: 17px; line-height: 1.9; }

/* Contact flow */
.contact-hero-v5 { min-height: 92svh; display: flex; align-items: center; overflow: hidden; background: radial-gradient(circle at 72% 36%,rgba(102,181,192,.24),transparent 31%), linear-gradient(145deg,#F8FAFA,#DDE8EA); }
.contact-hero-v5-copy h1 { transform: translate3d(0,calc(var(--scroll-progress,0) * -42px),0); will-change: transform; }
.contact-scroll-link { display: inline-flex; align-items: center; gap: 14px; margin-top: 36px; color: #2D6E78; font-size: 11px; font-weight: 750; }
.contact-scroll-link i { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(45,110,120,.23); border-radius: 50%; font-style: normal; animation: zaccsScrollCue 1.8s ease-in-out infinite; }
@keyframes zaccsScrollCue { 0%,100%{transform:translateY(0)} 50%{transform:translateY(5px)} }
.contact-reach-v5 { background: #F8F9F9; }
.contact-reach-v5-grid { gap: clamp(40px,7vw,90px); }
.contact-lines-v5 { overflow: hidden; border: 1px solid var(--line); border-radius: 24px; background: white; box-shadow: 0 16px 50px rgba(23,47,59,.06); }
.contact-lines-v5 > div { padding: 20px 22px; }
.contact-mini-map-v5 { border-radius: 34px; }
.contact-studio-v4 { background: linear-gradient(145deg,#DDE8EA,#F5F7F7); }
.contact-studio-grid-v5 { grid-template-columns: minmax(0,1.08fr) minmax(360px,.72fr); align-items: stretch; }
.contact-invite-v5 { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; min-height: 720px; padding: clamp(32px,5vw,58px); border-radius: 34px; background: radial-gradient(circle at 50% 22%,rgba(102,181,192,.25),transparent 31%), #1A2C36; color: white; box-shadow: var(--shadow); }
.contact-invite-v5 img { position: absolute; top: 4%; left: 50%; width: 112%; max-width: none; transform: translateX(-50%); opacity: .72; }
.contact-invite-v5 > div { position: relative; z-index: 2; }
.contact-invite-v5 span { color: var(--cyan-light); font-size: 10px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.contact-invite-v5 h2 { margin: 15px 0 18px; color: white; font-size: clamp(2.1rem,4vw,3.8rem); }
.contact-invite-v5 p { color: rgba(255,255,255,.72); }
.contact-invite-v5 small { display: block; margin-top: 28px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.13); color: rgba(255,255,255,.48); font-size: 10px; line-height: 1.6; }

/* Footer begins directly with identity and navigation */
.site-footer { background: radial-gradient(circle at 80% 10%,rgba(102,181,192,.13),transparent 28%), #182832; }
.footer-main-v3 { padding: clamp(76px,8vw,118px) 0 68px; border-top: 0; }
.footer-logo { width: min(245px,100%); }
.footer-identity-v3 > p { max-width: 440px; color: rgba(255,255,255,.7); }
.footer-conversation-link { display: inline-flex; align-items: center; gap: 10px; margin-top: 28px; color: #8ED2DA; font-size: 11px; font-weight: 750; }
.footer-conversation-link span { transition: transform .2s; }
.footer-conversation-link:hover span { transform: translateX(4px); }
.footer-nav a { transition: color .2s,transform .2s; }
.footer-nav a:hover { color: white; transform: translateX(3px); }
.footer-location-v3 { border: 1px solid rgba(255,255,255,.07); background: rgba(255,255,255,.035); }
.footer-location-copy { background: transparent; }

@media (max-width: 1080px) {
    .language-switcher summary { width: 68px; grid-template-columns: 17px 1fr 8px; }
    .language-switcher summary strong { display: none; }
    .services-overview-v5 { grid-template-columns: 1fr; }
    .services-overview-v5 > a { min-height: 240px; display: grid; grid-template-columns: 180px 1fr; grid-template-rows: auto auto 1fr; align-items: start; column-gap: 24px; }
    .services-overview-v5 img { grid-row: 1/4; height: 100%; margin: 0; }
    .services-overview-v5 em { margin-top: 0; }
    .news-collection-v5 { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .journal-single-head-v5 { grid-template-columns: 1fr; }
    .journal-cover-v5 { max-width: 720px; aspect-ratio: 1.5/1; }
    .contact-studio-grid-v5 { grid-template-columns: 1fr; }
    .contact-invite-v5 { min-height: 620px; }
}

@media (max-width: 700px) {
    .language-switcher summary { width: 55px; grid-template-columns: 15px 1fr 7px; }
    .partner-intro { min-height: 760px; }
    .partner-copy-v5 { padding: 34px 24px; border-radius: 28px; }
    .partner-earth { left: -245px; bottom: -90px; width: 540px; opacity: .47; }
    .partner-rocket { top: 8%; right: -90px; width: 255px; opacity: .78; }
    .home-contact-copy { min-height: 450px; }
    .home-contact-object { width: 110%; margin: -20px 0 -45px -5%; }
    .services-overview-v5 { width: min(100% - 24px,var(--max)); margin-top: -34px; }
    .services-overview-v5 > a { min-height: 0; display: flex; }
    .services-overview-v5 img { height: auto; }
    .service-chapter-title .service-area-name { font-size: clamp(3.1rem,15vw,5rem); }
    .service-modern-item { grid-template-columns: 84px 1fr; }
    .portfolio-gateway-v5 .wrap { grid-template-columns: 1fr; }
    .portfolio-gateway-v5 a { min-height: 280px; border-radius: 27px; }
    .news-viewbar { align-items: flex-start; flex-direction: column; }
    .news-collection-v5 { grid-template-columns: 1fr; }
    .news-collection-v5[data-view="list"] .news-card-v5 { grid-template-columns: 120px minmax(0,1fr); min-height: 180px; }
    .news-collection-v5[data-view="list"] .news-card-copy { min-height: 180px; padding: 20px; }
    .news-collection-v5[data-view="list"] .news-card-copy > p { display: none; }
    .news-archive-hero-v5 { min-height: 440px; padding-bottom: 65px; }
    .journal-single-hero { padding-top: 125px; }
    .journal-cover-v5 { aspect-ratio: 1/1; border-radius: 26px; }
    .contact-hero-v5 { min-height: 86svh; }
    .contact-invite-v5 { min-height: 550px; border-radius: 27px; }
    .footer-main-v3 { padding-top: 68px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .partner-earth,
    .partner-rocket,
    .home-contact-object,
    .contact-hero-v5-copy h1 { transform: none; }
    .contact-scroll-link i { animation: none; }
}

@media (prefers-reduced-motion: reduce) {
    .slider-status-dot { animation: none; }
}

/* ZACCS 2.2 — sistema editoriale più luminoso ed elegante */
.site-header.scrolled {
    background: rgba(27, 47, 64, .96);
    border-color: rgba(208, 224, 229, .18);
    box-shadow: 0 14px 34px rgba(16, 31, 43, .14);
}
.main-nav .sub-menu { background: rgba(27, 47, 64, .99); }
.page-hero { background: linear-gradient(120deg, #1B2F40, #29465A); }
.section-dark, .company-method { background: #1B2F40; }
.portfolio-showcase { background: #192C3B; }
.home-contact-v2 { background: linear-gradient(128deg, #1B2F40, #294C60); }
.cta { background: #29465A; }
.cookie { background: #1B2F40; }

/* Azienda: hero e manifesto unificati */
.company-hero-v3 {
    position: relative;
    overflow: hidden;
    padding: 150px 0 82px;
    background: linear-gradient(125deg, #1B2F40 0%, #29465A 66%, #356476 140%);
    color: white;
}
.company-hero-v3::before {
    content: "";
    position: absolute;
    inset: auto auto -180px -150px;
    width: 420px;
    height: 420px;
    border: 1px solid rgba(102, 181, 192, .18);
    border-radius: 50%;
}
.company-hero-v3-grid { position: relative; display: grid; grid-template-columns: .92fr 1.08fr; gap: clamp(45px, 7vw, 100px); align-items: center; }
.company-hero-v3-copy h1 { max-width: 680px; color: white; font-size: clamp(3rem, 5.5vw, 5.2rem); }
.company-hero-v3-copy .lead { color: #D5E0E4; }
.company-hero-v3-copy > p:not(.lead) { max-width: 670px; color: #AFC0C8; }
.company-hero-signals { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 34px; }
.company-hero-signals span { padding: 8px 11px; border: 1px solid rgba(208, 224, 229, .22); border-radius: 999px; color: #D5E2E6; font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.company-image-hero { min-height: 620px; border: 1px solid rgba(208, 224, 229, .18); box-shadow: 0 35px 80px rgba(7, 18, 27, .25); }
.company-image-hero::after { content: ""; position: absolute; inset: 0; pointer-events: none; box-shadow: inset 0 0 0 10px rgba(255, 255, 255, .03); }
.company-manifesto { background: #F4F7F8; }
.company-manifesto-heading { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(45px, 8vw, 110px); align-items: end; margin-bottom: 56px; }
.company-manifesto-heading .lead { margin: 0; }
.company-manifesto-layout { display: grid; grid-template-columns: .86fr 1.14fr; background: white; border: 1px solid #CEDCDF; box-shadow: 0 24px 60px rgba(23, 43, 57, .07); }
.manifesto-feature { min-height: 610px; display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(34px, 5vw, 64px); background: linear-gradient(145deg, #2E6671, #203D51); color: white; }
.manifesto-feature > span { margin-bottom: auto; color: #B6DCE2; font: 400 9px Audiowide, sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.manifesto-feature blockquote { margin: 70px 0 26px; color: white; font-size: clamp(1.8rem, 3.1vw, 3rem); font-weight: 600; line-height: 1.17; letter-spacing: -.045em; }
.manifesto-feature > p { max-width: 520px; color: #C1D2D8; font-size: 13px; }
.manifesto-feature-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 25px; }
.manifesto-feature-tags em { padding: 7px 9px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; color: #DCE8EB; font-size: 8px; font-style: normal; font-weight: 700; text-transform: uppercase; }
.manifesto-list { padding: 18px clamp(26px, 4vw, 52px); }
.manifesto-list article { min-height: 135px; display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; gap: 20px; align-items: center; padding: 24px 0; border-bottom: 1px solid var(--line); }
.manifesto-list article:last-child { border-bottom: 0; }
.manifesto-list article > span { color: #3A7F8A; font: 500 9px Orbitron, sans-serif; }
.manifesto-list h3 { margin-bottom: 6px; font-size: 16px; }
.manifesto-list p { margin: 0; color: var(--muted); font-size: 11px; }
.manifesto-list article > em { color: #66808A; font-size: 8px; font-style: normal; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }

/* Servizi: atlanti visuali e lista contemporanea */
.service-introduction { padding-bottom: 72px; }
.services-jump { position: relative; z-index: 3; display: grid; grid-template-columns: repeat(3, 1fr); margin-top: -28px; margin-bottom: 68px; background: white; border: 1px solid #CBD9DD; box-shadow: 0 18px 50px rgba(23, 43, 57, .09); }
.services-jump a { min-height: 112px; display: grid; grid-template-columns: 34px 1fr; grid-template-rows: 1fr auto; gap: 4px 14px; padding: 24px; transition: background .2s, color .2s; }
.services-jump a + a { border-left: 1px solid var(--line); }
.services-jump a:hover { background: #EAF3F4; }
.services-jump span { grid-row: 1 / 3; color: #3B7E88; font: 500 9px Orbitron, sans-serif; }
.services-jump strong { align-self: end; font-size: 14px; }
.services-jump em { color: var(--muted); font-size: 9px; font-style: normal; font-weight: 700; text-transform: uppercase; }
.service-catalog-v3 { background: white; }
.service-chapter { padding: clamp(90px, 8vw, 130px) 0; scroll-margin-top: 70px; }
.service-chapter-dark { background: #1B2F40; color: white; }
.service-chapter-light { background: white; }
.service-chapter-soft { background: #EBF1F2; }
.service-chapter-heading { display: grid; grid-template-columns: 1fr .78fr; gap: clamp(45px, 7vw, 96px); align-items: center; margin-bottom: 48px; }
.service-chapter-title > span { display: block; margin-bottom: 42px; color: #3A7F8A; font: 500 10px Orbitron, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.service-chapter-dark .service-chapter-title > span, .service-chapter-dark .eyebrow { color: var(--cyan-light); }
.service-chapter-heading h2 { max-width: 720px; font-size: clamp(2.25rem, 4.2vw, 4rem); }
.service-chapter-dark h2 { color: white; }
.service-chapter-dark .lead { color: #B9C8CE; }
.service-atlas { position: relative; aspect-ratio: 1.35 / 1; margin: 0; overflow: hidden; background: var(--blue); box-shadow: 0 25px 60px rgba(20, 41, 55, .16); }
.service-atlas::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.17); pointer-events: none; }
.service-atlas img { width: 100%; height: 100%; object-fit: cover; }
.service-modern-list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.service-modern-item { min-height: 132px; display: grid; grid-template-columns: 94px 36px 1fr; gap: 17px; align-items: center; padding: 14px 20px 14px 14px; border: 1px solid #D0DDE0; background: rgba(255,255,255,.94); transition: transform .22s, border-color .22s, box-shadow .22s; }
.service-modern-item:hover { transform: translateY(-3px); border-color: #9EBAC1; box-shadow: 0 16px 38px rgba(24, 47, 63, .09); }
.service-chapter-dark .service-modern-item { border-color: rgba(198,216,222,.15); background: rgba(255,255,255,.065); }
.service-chapter-dark .service-modern-item:hover { border-color: rgba(102,181,192,.55); background: rgba(255,255,255,.09); }
.service-mini-photo { width: 94px; height: 102px; overflow: hidden; background: #DCE7E9; }
.service-mini-photo img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.22); transition: transform .35s; }
.service-modern-item:hover .service-mini-photo img { transform: scale(1.3); }
.service-crop-1 { object-position: 8% 12%; }
.service-crop-2 { object-position: 50% 10%; }
.service-crop-3 { object-position: 92% 12%; }
.service-crop-4 { object-position: 14% 62%; }
.service-crop-5 { object-position: 48% 58%; }
.service-crop-6 { object-position: 80% 70%; }
.service-crop-7 { object-position: 95% 92%; }
.service-modern-item > span { align-self: start; padding-top: 9px; color: #3A7F8A; font: 500 8px Orbitron, sans-serif; }
.service-modern-item h3 { margin-bottom: 7px; font-size: 14px; letter-spacing: -.025em; }
.service-modern-item p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.service-chapter-dark .service-modern-item h3 { color: white; }
.service-chapter-dark .service-modern-item p { color: #AFBEC5; }
.service-chapter-footer { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 38px; padding-top: 28px; border-top: 1px solid #CAD8DC; }
.service-chapter-dark .service-chapter-footer { border-color: rgba(198,216,222,.18); }
.service-chapter-footer .service-deliverables { margin: 0; }
.service-chapter-dark .service-deliverables span { background: rgba(102,181,192,.13); color: #C5DCE1; }

/* Contatti: hub progettuale completo */
.contact-hero-v3 { position: relative; overflow: hidden; padding: 165px 0 88px; background: linear-gradient(125deg, #1B2F40 0%, #29495D 70%, #3E7580 155%); color: white; }
.contact-hero-v3::after { content: ""; position: absolute; top: 90px; right: -150px; width: 520px; height: 520px; border: 1px solid rgba(151, 211, 220, .15); border-radius: 50%; }
.contact-hero-v3-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(50px, 8vw, 110px); align-items: center; }
.contact-hero-v3-copy h1 { max-width: 760px; color: white; font-size: clamp(3rem, 5.8vw, 5.4rem); }
.contact-hero-v3-copy .lead { color: #D0DEE2; }
.contact-brief-card { padding: clamp(30px, 4vw, 48px); border: 1px solid rgba(218,231,235,.24); background: rgba(242,247,248,.09); backdrop-filter: blur(18px); }
.contact-brief-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 38px; color: #BBD8DE; font: 400 9px Audiowide, sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.contact-brief-head i { width: 8px; height: 8px; border-radius: 50%; background: var(--cyan-light); box-shadow: 0 0 0 7px rgba(102,181,192,.12); }
.contact-brief-card h2 { margin-bottom: 34px; color: white; font-size: clamp(1.5rem, 2.5vw, 2.15rem); }
.contact-brief-card dl { margin: 0; border-top: 1px solid rgba(214,229,234,.17); }
.contact-brief-card dl > div { display: grid; grid-template-columns: 120px 1fr; gap: 20px; padding: 17px 0; border-bottom: 1px solid rgba(214,229,234,.17); }
.contact-brief-card dt { color: #8FA8B1; font-size: 9px; font-weight: 700; text-transform: uppercase; }
.contact-brief-card dd { margin: 0; color: #E0E9EC; font-size: 11px; font-weight: 600; }
.contact-brief-card > p { margin: 24px 0 0; color: #AFC1C8; font-size: 10px; }
.contact-hub-v3 { background: #F4F7F8; }
.contact-hub-heading { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(45px, 8vw, 110px); align-items: end; margin-bottom: 48px; }
.contact-hub-heading .lead { margin: 0; }
.contact-channel-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.contact-channel { min-height: 245px; display: grid; grid-template-columns: 54px 1fr; grid-template-rows: 1fr auto; gap: 20px; padding: 30px; border: 1px solid #CEDBDE; background: white; transition: transform .22s, box-shadow .22s; }
.contact-channel:hover { transform: translateY(-3px); box-shadow: 0 18px 45px rgba(23,43,57,.08); }
.contact-channel-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; background: #E2EDEF; color: #2F7580; font: 500 9px Orbitron, sans-serif; }
.contact-channel small { display: block; margin-bottom: 12px; color: #68808A; font-size: 8px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.contact-channel h3 { font-size: clamp(1.2rem, 2vw, 1.55rem); }
.contact-channel p { margin: 0; color: var(--muted); font-size: 11px; }
.contact-channel > a, .contact-channel > em { grid-column: 2; color: #2F7580; font-size: 9px; font-style: normal; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.contact-channel-featured { border-color: #2D6571; background: linear-gradient(140deg, #397A85, #29495D); color: white; }
.contact-channel-featured .contact-channel-icon { background: rgba(255,255,255,.13); color: white; }
.contact-channel-featured small, .contact-channel-featured p { color: #C2D5DA; }
.contact-channel-featured h3, .contact-channel-featured > a { color: white; }
.contact-channel-action { background: #E6EFF1; }
.contact-workspace-v3 { background: #1B2F40; color: white; scroll-margin-top: 68px; }
.contact-workspace-heading { display: grid; grid-template-columns: 1.05fr .95fr; gap: 60px; align-items: end; margin-bottom: 48px; }
.contact-workspace-heading h2 { color: white; }
.contact-workspace-heading > p { max-width: 600px; margin: 0; color: #B4C4CA; }
.contact-workspace-grid { display: grid; grid-template-columns: 1.16fr .84fr; gap: 18px; align-items: start; }
.contact-form-card { padding: clamp(30px, 4vw, 52px); box-shadow: 0 28px 70px rgba(5,15,22,.2); }
.contact-form-card .form input, .contact-form-card .form select, .contact-form-card .form textarea { border-radius: 0; background: #F9FBFB; }
.contact-side-v3 { display: grid; gap: 18px; }
.contact-side-block { padding: 30px; border: 1px solid rgba(204,222,228,.17); background: rgba(255,255,255,.055); }
.contact-side-block > span { display: block; margin-bottom: 25px; color: #AFC8CF; font: 400 9px Audiowide, sans-serif; letter-spacing: .11em; text-transform: uppercase; }
.contact-side-block ul, .contact-side-block ol { margin: 0; padding: 0; list-style: none; }
.contact-side-block ul li { display: grid; grid-template-columns: 11px 1fr; gap: 14px; padding: 14px 0; border-top: 1px solid rgba(204,222,228,.13); }
.service-dot { width: 8px; height: 8px; margin-top: 5px; border-radius: 50%; background: var(--cyan-light); }
.service-dot-digital { background: #E8F2F3; }
.service-dot-it { background: #7E9CA8; }
.contact-side-block li strong { display: block; color: white; font-size: 11px; }
.contact-side-block li small { display: block; color: #93A8B1; font-size: 9px; }
.contact-side-block ol li { display: grid; grid-template-columns: 33px 1fr; gap: 14px; padding: 14px 0; border-top: 1px solid rgba(204,222,228,.13); }
.contact-side-block ol b { color: var(--cyan-light); font: 500 8px Orbitron, sans-serif; }
.contact-side-block ol p { margin: 0; }
.contact-side-v3 .company-data-note { padding: 0 6px; margin: 0; }
.real-map-section-v3 { background: white; }
.real-map-v3 { position: relative; height: 560px; box-shadow: 0 24px 55px rgba(23,43,57,.1); }
.map-address-card { position: absolute; left: 28px; bottom: 28px; min-width: 290px; padding: 22px; background: rgba(27,47,64,.95); color: white; backdrop-filter: blur(12px); }
.map-address-card span, .map-address-card small { display: block; color: #ADC2C9; font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }
.map-address-card strong { display: block; margin: 8px 0 5px; font-size: 14px; }

/* Footer 2.2 */
.site-footer { background: #172A39; }
.footer-callout-v3 { align-items: center; padding: 74px 0 62px; }
.footer-callout-v3 > div { max-width: 810px; }
.footer-callout-v3 > div > span { font-family: Audiowide, sans-serif; font-weight: 400; }
.footer-callout-v3 p { max-width: 650px; margin: 16px 0 0; color: #AFC0C7; font-size: 12px; }
.footer-main-v3 { display: grid; grid-template-columns: 1.35fr .65fr .85fr 1.1fr; gap: clamp(32px, 5vw, 68px); padding: 56px 0; border-bottom: 1px solid rgba(202,220,226,.16); }
.footer-identity-v3 .footer-logo-link { width: fit-content; }
.footer-identity-v3 .footer-logo { width: 220px; }
.footer-identity-v3 .footer-slogan-transparent { width: 250px; margin-top: 18px; opacity: .88; }
.footer-identity-v3 > p { max-width: 390px; margin: 25px 0; color: #ACBCC3; font-size: 11px; }
.footer-areas { display: flex; flex-wrap: wrap; gap: 7px; }
.footer-areas span { padding: 6px 8px; border: 1px solid rgba(201,221,227,.17); border-radius: 999px; color: #AFC1C8; font-size: 8px; font-weight: 700; text-transform: uppercase; }
.footer-main-v3 h3 { margin-bottom: 25px; color: #DCE6E9; font: 400 9px Audiowide, sans-serif; letter-spacing: .11em; }
.footer-main-v3 .footer-nav a { position: relative; width: fit-content; padding: 2px 0; color: #9FB1B9; }
.footer-main-v3 .footer-nav a::after { content: ""; position: absolute; right: 0; bottom: 0; left: 0; height: 1px; background: var(--cyan-light); transform: scaleX(0); transform-origin: right; transition: transform .2s; }
.footer-main-v3 .footer-nav a:hover::after { transform: scaleX(1); transform-origin: left; }
.footer-contact-v3 p { padding: 12px 0; margin: 0; border-top: 1px solid rgba(201,221,227,.12); color: #D2DDE1; font-size: 10px; }
.footer-contact-v3 p span { margin-bottom: 4px; color: #778F99; }
.footer-contact-v3 em { color: #9FB1B9; font-style: normal; }
.footer-location-v3 { display: grid; grid-template-columns: .78fr 1.22fr; min-height: 280px; margin-top: 34px; border: 1px solid rgba(201,221,227,.15); }
.footer-location-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(30px, 5vw, 58px); background: #1D3445; }
.footer-location-copy > span { color: #7F98A2; font-size: 8px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.footer-location-copy > strong { display: block; margin-top: 18px; color: white; font-size: clamp(1.15rem, 2vw, 1.7rem); line-height: 1.35; }
.footer-location-copy .footer-map-links { margin-top: 28px; }
.footer-map-v3 { height: auto; min-height: 280px; border: 0; }
.footer-map-v3 iframe { filter: grayscale(.55) saturate(.5) brightness(.78); }
.site-footer-v2 .footer-bottom { margin-top: 0; padding: 22px 0 0; }

@media (max-width: 980px) {
    .company-hero-v3-grid, .company-manifesto-layout, .service-chapter-heading, .contact-hero-v3-grid, .contact-workspace-grid { grid-template-columns: 1fr; }
    .company-image-hero { min-height: 520px; }
    .company-manifesto-heading, .contact-hub-heading, .contact-workspace-heading { grid-template-columns: 1fr; gap: 18px; }
    .manifesto-feature { min-height: 470px; }
    .service-atlas { max-width: 720px; }
    .service-modern-item { grid-template-columns: 82px 31px 1fr; }
    .service-mini-photo { width: 82px; height: 94px; }
    .footer-main-v3 { grid-template-columns: 1.2fr 1fr 1fr; }
    .footer-identity-v3 { grid-column: 1 / -1; padding-bottom: 30px; border-bottom: 1px solid rgba(201,221,227,.13); }
}

@media (max-width: 700px) {
    .company-hero-v3, .contact-hero-v3 { padding: 132px 0 60px; }
    .company-image-hero { min-height: 350px; }
    .company-manifesto-layout { display: block; }
    .manifesto-feature { min-height: 440px; }
    .manifesto-list { padding: 12px 22px; }
    .manifesto-list article { grid-template-columns: 28px 1fr; }
    .manifesto-list article > em { grid-column: 2; }
    .services-jump { grid-template-columns: 1fr; margin-top: -18px; margin-bottom: 40px; }
    .services-jump a { min-height: 88px; }
    .services-jump a + a { border-top: 1px solid var(--line); border-left: 0; }
    .service-chapter { padding: 76px 0; }
    .service-chapter-title > span { margin-bottom: 28px; }
    .service-modern-list, .contact-channel-grid { grid-template-columns: 1fr; }
    .service-modern-item { min-height: 118px; grid-template-columns: 74px 28px 1fr; padding: 10px 14px 10px 10px; gap: 12px; }
    .service-mini-photo { width: 74px; height: 92px; }
    .service-chapter-footer { align-items: flex-start; flex-direction: column; }
    .service-chapter-footer .btn { width: 100%; }
    .contact-brief-card { padding: 28px 22px; }
    .contact-brief-card dl > div { grid-template-columns: 1fr; gap: 5px; }
    .contact-channel { grid-template-columns: 48px 1fr; padding: 24px 20px; }
    .contact-workspace-heading { margin-bottom: 32px; }
    .contact-form-card { padding: 28px 18px; }
    .real-map-v3 { height: 420px; }
    .map-address-card { right: 16px; bottom: 16px; left: 16px; min-width: 0; }
    .footer-callout-v3 { padding: 60px 0 50px; }
    .footer-main-v3 { grid-template-columns: 1fr 1fr; }
    .footer-identity-v3, .footer-contact-v3 { grid-column: 1 / -1; }
    .footer-location-v3 { grid-template-columns: 1fr; }
    .footer-map-v3 { min-height: 220px; }
}

/* ZACCS 2.3 — pagina Contatti più giovane, aperta e conversazionale */
.contact-hero-v4 {
    position: relative;
    overflow: hidden;
    padding: 162px 0 0;
    background: linear-gradient(180deg, #1B2F40 0 88px, #DDECEE 88px 100%);
    color: var(--blue);
}
.contact-hero-v4::before {
    content: "";
    position: absolute;
    top: 135px;
    right: 7vw;
    width: 380px;
    height: 380px;
    border: 1px solid rgba(46, 102, 113, .16);
    border-radius: 50%;
}
.contact-hero-v4-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(48px, 8vw, 112px); align-items: center; padding-bottom: 92px; }
.contact-hero-v4-copy .eyebrow { color: #2E7782; }
.contact-hero-v4-copy h1 { max-width: 760px; color: var(--blue); font-size: clamp(3.35rem, 6.5vw, 6.25rem); line-height: .95; }
.contact-hero-v4-copy h1 span { display: block; color: #3D8590; }
.contact-hero-v4-copy .lead { max-width: 700px; color: #526E78; }
.contact-hero-v4-copy .btns { align-items: center; }
.contact-inline-link { padding: 10px 5px; color: #355963; font-size: 11px; font-weight: 700; border-bottom: 1px solid #9AB6BC; }
.contact-chat-card { position: relative; padding: clamp(28px, 4vw, 44px); border-radius: 30px 30px 8px 30px; background: #24465A; color: white; box-shadow: 0 32px 80px rgba(30, 70, 83, .18); transform: rotate(1.2deg); }
.contact-chat-card::after { content: ""; position: absolute; right: 20px; bottom: -17px; border-width: 18px 0 0 24px; border-style: solid; border-color: transparent transparent transparent #24465A; }
.contact-chat-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-bottom: 20px; margin-bottom: 26px; border-bottom: 1px solid rgba(220,236,240,.15); }
.contact-chat-top span { color: #9EBAC2; font: 400 8px Audiowide, sans-serif; letter-spacing: .11em; text-transform: uppercase; }
.contact-chat-top i { width: 8px; height: 8px; border-radius: 50%; background: #75C4CF; box-shadow: 0 0 0 7px rgba(117,196,207,.12); }
.chat-bubble { max-width: 83%; padding: 14px 17px; margin-bottom: 12px; border-radius: 18px; font-size: 11px; line-height: 1.5; }
.chat-bubble-in { border-bottom-left-radius: 4px; background: rgba(255,255,255,.1); color: #D8E5E8; }
.chat-bubble-out { margin-left: auto; border-bottom-right-radius: 4px; background: #E7F2F3; color: #294958; }
.contact-chat-card > a { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 28px; padding-top: 20px; border-top: 1px solid rgba(220,236,240,.15); color: white; font-size: 10px; font-weight: 700; }
.contact-chat-card > a span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; background: var(--cyan); }
.contact-doodle { position: absolute; z-index: 1; pointer-events: none; }
.contact-doodle-one { top: 155px; left: -65px; width: 130px; height: 130px; border: 24px solid rgba(72,149,161,.12); border-radius: 50%; }
.contact-doodle-two { right: 35%; bottom: 105px; width: 90px; height: 16px; border-block: 2px solid rgba(72,149,161,.25); transform: rotate(-9deg); }
.contact-marquee { position: relative; z-index: 2; overflow: hidden; padding: 17px 0; border-top: 1px solid #B7CDD1; border-bottom: 1px solid #B7CDD1; background: #C8DFE2; color: #3C747D; white-space: nowrap; }
.contact-marquee span { display: inline-block; min-width: 200%; font: 400 9px Audiowide, sans-serif; letter-spacing: .18em; animation: contactMarquee 28s linear infinite; }
@keyframes contactMarquee { to { transform: translateX(-50%); } }

.contact-choices-v4 { background: #FCFDFD; }
.contact-choices-heading { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(45px, 8vw, 110px); align-items: end; margin-bottom: 48px; }
.contact-choices-heading > p { max-width: 580px; margin: 0; color: var(--muted); }
.contact-bento-v4 { display: grid; grid-template-columns: repeat(12, 1fr); gap: 14px; }
.contact-bento-card { min-height: 250px; display: flex; flex-direction: column; padding: clamp(26px, 4vw, 42px); border: 1px solid #CBDADD; border-radius: 24px; background: #F2F6F6; transition: transform .25s, box-shadow .25s; }
.contact-bento-card:hover { transform: translateY(-5px) rotate(-.25deg); box-shadow: 0 22px 48px rgba(24, 53, 67, .09); }
.contact-bento-card > span { color: #55747E; font: 400 8px Audiowide, sans-serif; letter-spacing: .11em; text-transform: uppercase; }
.contact-bento-card h3 { max-width: 510px; margin: auto 0 10px; font-size: clamp(1.4rem, 2.8vw, 2.4rem); }
.contact-bento-card p { max-width: 550px; margin: 0; color: var(--muted); font-size: 11px; }
.contact-bento-card > a { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 26px; color: #2F707A; font-size: 10px; font-weight: 700; }
.contact-bento-card > a b { font-size: 20px; }
.contact-bento-project { grid-column: span 7; min-height: 390px; border-color: #397D87; background: #4895A1; color: white; }
.contact-bento-project > span, .contact-bento-project p, .contact-bento-project > a { color: rgba(255,255,255,.83); }
.contact-bento-project h3 { color: white; font-size: clamp(2rem, 4vw, 3.6rem); }
.contact-bento-place { grid-column: span 5; min-height: 390px; background: #F2E8D9; }
.contact-bento-small { grid-column: span 6; min-height: 225px; background: #E9F1F2; }
.contact-bento-email { background: #DDEBED; }
.contact-bento-small h3 { font-size: clamp(1.2rem, 2.3vw, 1.8rem); }

.contact-studio-v4 { position: relative; overflow: hidden; background: #DCEBED; scroll-margin-top: 70px; }
.contact-studio-word { position: absolute; top: -40px; left: 50%; color: rgba(39, 83, 96, .06); font: 600 clamp(6rem, 14vw, 13rem)/1 Orbitron, sans-serif; letter-spacing: -.08em; white-space: nowrap; transform: translateX(-50%); }
.contact-studio-v4 .wrap { position: relative; z-index: 1; }
.contact-studio-heading { display: grid; grid-template-columns: 1.1fr .9fr; gap: 60px; align-items: end; margin-bottom: 48px; padding-top: 55px; }
.contact-studio-heading > p { max-width: 560px; margin: 0; color: #58747D; }
.contact-studio-grid { display: grid; grid-template-columns: 1.16fr .84fr; gap: 18px; align-items: start; }
.contact-form-v4 { padding: clamp(30px, 4vw, 52px); border: 1px solid #C3D7DB; border-radius: 28px; box-shadow: 0 28px 65px rgba(32, 72, 84, .12); }
.contact-form-v4 .form-heading { border-color: #D5E1E3; }
.contact-form-v4 .form input, .contact-form-v4 .form select, .contact-form-v4 .form textarea { min-height: 53px; border: 0; border-bottom: 1px solid #B9CCCF; border-radius: 0; background: #F7FAFA; }
.contact-form-v4 .form textarea { min-height: 145px; }
.contact-form-v4 .form .btn { min-height: 55px; border-radius: 999px; }
.contact-notes-v4 { display: grid; gap: 14px; }
.contact-note-v4 { padding: 30px; border: 1px solid #BFD2D6; border-radius: 22px; background: rgba(255,255,255,.54); }
.contact-note-v4 > span { display: block; margin-bottom: 22px; color: #52737D; font: 400 8px Audiowide, sans-serif; letter-spacing: .11em; text-transform: uppercase; }
.contact-note-v4 h3 { font-size: clamp(1.45rem, 2.5vw, 2rem); }
.contact-note-v4 p, .contact-note-v4 li { color: #42616B; font-size: 11px; }
.contact-note-v4 ul { margin: 20px 0 0; padding: 0; list-style: none; }
.contact-note-v4 li { position: relative; padding: 9px 0 9px 20px; border-top: 1px solid rgba(255,255,255,.28); }
.contact-note-v4 li::before { content: "→"; position: absolute; left: 0; color: white; }
.contact-note-primary { border-color: #34747E; background: #3F8792; color: white; transform: rotate(-.7deg); }
.contact-note-primary > span, .contact-note-primary p, .contact-note-primary li { color: rgba(255,255,255,.84); }
.contact-note-primary h3 { color: white; }
.contact-topic-cloud { display: flex; flex-wrap: wrap; gap: 7px; }
.contact-topic-cloud b { padding: 8px 10px; border: 1px solid #B4CACF; border-radius: 999px; background: white; color: #365A64; font-size: 9px; }
.contact-note-steps > div { display: grid; grid-template-columns: 34px 1fr; gap: 12px; padding: 12px 0; border-top: 1px solid #C4D6DA; }
.contact-note-steps i { color: #367A85; font: 500 8px Orbitron, sans-serif; font-style: normal; }
.contact-note-steps p { margin: 0; }
.contact-note-steps strong, .contact-note-steps small { display: block; }
.contact-note-steps small { color: #6A838C; }

.contact-map-v4 { background: #F5EFE5; }
.contact-map-v4-grid { display: grid; grid-template-columns: .78fr 1.22fr; min-height: 590px; border: 1px solid #D8CDBD; border-radius: 28px; overflow: hidden; background: white; box-shadow: 0 24px 60px rgba(70, 61, 48, .08); }
.contact-map-copy-v4 { display: flex; flex-direction: column; justify-content: center; padding: clamp(34px, 6vw, 70px); }
.contact-map-copy-v4 h2 { font-size: clamp(2.2rem, 4.2vw, 4rem); }
.contact-map-copy-v4 > p { color: var(--muted); }
.contact-address-v4 { display: grid; grid-template-columns: 70px 1fr; gap: 18px; margin-top: 45px; padding-top: 24px; border-top: 1px solid #DED4C6; }
.contact-address-v4 span { color: #8A7D6E; font-size: 8px; font-weight: 700; }
.contact-address-v4 strong { font-size: 11px; line-height: 1.6; }
.contact-map-frame-v4 { position: relative; height: 100%; min-height: 590px; border: 0; }
.contact-map-frame-v4 iframe { filter: saturate(.72) contrast(.94); }
.contact-map-pin-v4 { position: absolute; top: 47%; left: 52%; display: grid; place-items: center; transform: translate(-50%, -50%); }
.contact-map-pin-v4 i { width: 34px; height: 34px; border: 10px solid #4895A1; border-radius: 50% 50% 50% 0; background: white; box-shadow: 0 10px 30px rgba(22,55,67,.25); transform: rotate(-45deg); }
.contact-map-pin-v4 span { margin-top: 10px; padding: 6px 10px; border-radius: 999px; background: var(--blue); color: white; font-size: 8px; font-weight: 700; text-transform: uppercase; }

@media (max-width: 980px) {
    .contact-hero-v4-grid, .contact-studio-grid, .contact-map-v4-grid { grid-template-columns: 1fr; }
    .contact-choices-heading, .contact-studio-heading { grid-template-columns: 1fr; gap: 18px; }
    .contact-chat-card { max-width: 680px; transform: rotate(.5deg); }
    .contact-bento-project, .contact-bento-place { grid-column: span 12; min-height: 330px; }
    .contact-map-copy-v4 { min-height: 450px; }
    .contact-map-frame-v4 { min-height: 480px; }
}

@media (max-width: 700px) {
    .contact-hero-v4 { padding-top: 132px; }
    .contact-hero-v4-grid { padding-bottom: 70px; }
    .contact-hero-v4-copy h1 { font-size: clamp(3rem, 15vw, 4.25rem); }
    .contact-chat-card { padding: 26px 20px; border-radius: 24px 24px 6px 24px; }
    .contact-marquee span { min-width: 330%; }
    .contact-bento-project, .contact-bento-place, .contact-bento-small { grid-column: span 12; min-height: 265px; }
    .contact-bento-card { border-radius: 20px; }
    .contact-studio-heading { padding-top: 20px; }
    .contact-studio-word { top: 0; }
    .contact-form-v4 { padding: 28px 18px; border-radius: 22px; }
    .contact-note-v4 { padding: 25px 20px; }
    .contact-map-v4-grid { border-radius: 20px; }
    .contact-map-copy-v4 { min-height: 0; padding: 38px 24px; }
    .contact-map-frame-v4 { min-height: 390px; }
    .contact-address-v4 { grid-template-columns: 1fr; gap: 6px; }
}

@media (prefers-reduced-motion: reduce) {
    .contact-marquee span { animation: none; }
}

/* ZACCS 2.4 — Contatti lineari e footer ad alto contrasto */
.contact-hero-v5 {
    position: relative;
    overflow: hidden;
    padding: 168px 0 105px;
    background: linear-gradient(180deg, #1B2F40 0 88px, #DDECEE 88px 100%);
}
.contact-hero-v5::before {
    content: "";
    position: absolute;
    top: 140px;
    right: -120px;
    width: 480px;
    height: 480px;
    border: 1px solid rgba(57, 125, 135, .15);
    border-radius: 50%;
}
.contact-hero-v5::after {
    content: "";
    position: absolute;
    right: 15vw;
    bottom: 0;
    width: 180px;
    height: 10px;
    border-block: 1px solid rgba(57, 125, 135, .25);
    transform: rotate(-7deg);
}
.contact-hero-v5-copy { position: relative; z-index: 1; max-width: 980px; }
.contact-hero-v5-copy .eyebrow { color: #2E7782; }
.contact-hero-v5-copy h1 { max-width: 920px; color: var(--blue); font-size: clamp(3.6rem, 7.3vw, 7rem); line-height: .94; }
.contact-hero-v5-copy h1 span { display: block; color: #3D8590; }
.contact-hero-v5-copy .lead { max-width: 770px; margin-bottom: 35px; color: #526E78; }

.contact-reach-v5 { background: #FCFDFD; }
.contact-reach-v5-grid { display: grid; grid-template-columns: .94fr 1.06fr; gap: clamp(50px, 8vw, 110px); align-items: center; }
.contact-reach-v5-copy h2 { max-width: 650px; }
.contact-everywhere-v5 { max-width: 680px; color: #58727C; font-size: 15px; }
.contact-everywhere-v5 strong { color: #337D87; }
.contact-lines-v5 { margin: 40px 0 28px; border-top: 1px solid #C9D8DC; }
.contact-lines-v5 > div { display: grid; grid-template-columns: 86px 1fr auto; gap: 20px; align-items: center; padding: 20px 0; border-bottom: 1px solid #C9D8DC; }
.contact-lines-v5 span { color: #52727D; font-size: 8px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.contact-lines-v5 strong { color: var(--blue); font-size: 12px; }
.contact-lines-v5 small { color: #7D9199; font-size: 8px; text-transform: uppercase; }
.contact-mini-map-v5 { overflow: hidden; border: 1px solid #C7D6DA; background: #E7EFF0; }
.contact-mini-map-v5 iframe { display: block; width: 100%; height: 330px; border: 0; filter: saturate(.72) contrast(.96); }
.contact-mini-map-caption { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 19px 22px; background: white; }
.contact-mini-map-caption span { display: block; margin-bottom: 3px; color: #5B7881; font-size: 8px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.contact-mini-map-caption strong { display: block; font-size: 11px; }
.contact-mini-map-caption .map-actions { gap: 15px; }
.contact-mini-map-caption .map-actions a { color: #337883; font-size: 8px; font-weight: 700; text-transform: uppercase; }
.contact-note-primary { transform: none; }
.contact-note-v4, .contact-form-v4 { border-radius: 12px; }

/* Footer più chiaro, compatto e leggibile */
.site-footer { background: #203A4B; }
.footer-callout-v3 { border-color: rgba(220,235,239,.22); }
.footer-callout-v3 p { color: #D0DDE1; }
.footer-main-v3 { border-color: rgba(220,235,239,.22); }
.footer-identity-v3 { display: flex; flex-direction: column; align-items: center; text-align: center; }
.footer-identity-v3 .footer-logo-link { align-self: center; }
.footer-identity-v3 .footer-slogan-transparent { width: 270px; margin: 20px auto 0; opacity: 1; }
.footer-identity-v3 > p { margin-inline: auto; color: #D4E0E4; }
.footer-areas { justify-content: center; }
.footer-areas span { border-color: rgba(102,181,192,.42); color: #C9E1E5; }
.footer-main-v3 h3 { color: var(--cyan-light); }
.footer-main-v3 .footer-nav a { color: #D4E0E4; }
.footer-main-v3 .footer-nav a:hover { color: white; }
.footer-contact-v3 p { border-color: rgba(220,235,239,.18); color: #E0E9EC; }
.footer-contact-v3 p span { color: var(--cyan-light); }
.footer-contact-v3 em { color: #D0DDE1; }
.footer-location-v3 { min-height: 190px; border-color: rgba(220,235,239,.2); }
.footer-location-copy { min-height: 190px; padding: 28px 38px; background: #294657; }
.footer-location-copy > span { color: var(--cyan-light); }
.footer-location-copy > strong { margin-top: 12px; font-size: clamp(1.05rem, 1.6vw, 1.4rem); }
.footer-location-copy .footer-map-links { margin-top: 20px; }
.footer-map-links a { color: #A9DBE2; }
.footer-map-v3 { min-height: 190px; max-height: 190px; }
.footer-map-v3 > a { padding: 17px 20px; }
.footer-map-v3 iframe { filter: grayscale(.25) saturate(.65) brightness(.86); }
.footer-bottom { color: #B6C8CE; }
.footer-bottom a { color: #D3E0E4; }

@media (max-width: 980px) {
    .contact-reach-v5-grid { grid-template-columns: 1fr; }
    .contact-mini-map-v5 { max-width: 760px; }
}

@media (max-width: 700px) {
    .contact-hero-v5 { padding: 132px 0 72px; }
    .contact-hero-v5-copy h1 { font-size: clamp(3.05rem, 15vw, 4.35rem); }
    .contact-lines-v5 > div { grid-template-columns: 1fr; gap: 5px; }
    .contact-mini-map-v5 iframe { height: 260px; }
    .contact-mini-map-caption { align-items: flex-start; flex-direction: column; }
    .footer-identity-v3 .footer-slogan-transparent { width: min(270px, 100%); }
    .footer-location-copy { min-height: 170px; }
    .footer-map-v3 { min-height: 175px; max-height: 175px; }
}

/* ZACCS 2.5 — App sviluppate e News */
.home-apps-section { position: relative; overflow: hidden; background: #F4F7F8; }
.home-apps-section::before { content: ""; position: absolute; top: -210px; right: -160px; width: 460px; height: 460px; border: 1px solid rgba(72,149,161,.14); border-radius: 50%; }
.home-apps-section .wrap { position: relative; }
.home-apps-heading { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(45px, 8vw, 110px); align-items: end; margin-bottom: 52px; }
.home-apps-heading .lead { margin: 0; }
.home-apps-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.home-app-card { min-width: 0; overflow: hidden; border: 1px solid #CAD8DC; background: white; }
.home-app-card:not(.home-app-card-cta) { display: grid; grid-template-columns: .78fr 1.22fr; min-height: 440px; }
.home-app-visual { position: relative; min-height: 100%; display: grid; place-items: center; padding: 58px 34px 34px; overflow: hidden; background: #DDEBED; }
.home-app-card-supps .home-app-visual { background: #E6EFF1; }
.home-app-visual::after { content: ""; position: absolute; width: 240px; height: 240px; border: 1px solid rgba(45,112,123,.18); border-radius: 50%; }
.home-app-platform { position: absolute; z-index: 2; top: 22px; left: 22px; color: #4A6B75; font: 400 8px Audiowide, sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.app-device-frame { position: relative; z-index: 1; width: min(190px, 78%); padding: 13px; border-radius: 36px; background: #1C3344; box-shadow: 0 25px 50px rgba(25,57,72,.2); transition: transform .3s, box-shadow .3s; }
.home-app-card:hover .app-device-frame { transform: translateY(-6px); box-shadow: 0 32px 58px rgba(25,57,72,.25); }
.app-device-frame img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 26px; }
.home-app-copy { display: flex; flex-direction: column; align-items: flex-start; padding: clamp(30px, 4vw, 48px); }
.home-app-index { display: block; margin-bottom: auto; color: #397C86; font: 400 8px Audiowide, sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.home-app-copy h3 { margin-top: 48px; font-size: clamp(1.8rem, 3vw, 2.7rem); }
.home-app-copy > p { color: var(--muted); font-size: 12px; }
.home-app-copy ul { display: flex; flex-wrap: wrap; gap: 7px; margin: 18px 0 28px; padding: 0; list-style: none; }
.home-app-copy li { padding: 7px 9px; border-radius: 999px; background: #E6F0F1; color: #42636D; font-size: 8px; font-weight: 700; text-transform: uppercase; }
.home-app-copy .text-link { margin-top: auto; }
.home-app-card-cta { grid-column: 1 / -1; min-height: 270px; display: grid; grid-template-columns: .36fr 1fr; gap: clamp(35px, 6vw, 80px); align-items: center; padding: clamp(34px, 5vw, 60px); border-color: #316D77; background: linear-gradient(125deg, #356F79, #29495D); color: white; }
.home-app-cta-mark { display: grid; place-items: center; min-height: 150px; border: 1px solid rgba(221,238,242,.25); }
.home-app-cta-mark span { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 50%; background: var(--cyan-light); color: var(--blue); font-size: 30px; font-weight: 400; }
.home-app-card-cta .home-app-index { margin-bottom: 20px; color: #B8D8DD; }
.home-app-card-cta h3 { color: white; font-size: clamp(2rem, 4vw, 3.5rem); }
.home-app-card-cta p { max-width: 680px; color: #C5D6DB; }

.home-news-section { background: white; }
.home-news-heading { border-bottom: 1px solid var(--line); padding-bottom: 38px; }
.home-news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.home-news-grid-count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.home-news-grid-count-1 { grid-template-columns: minmax(0, 1fr); }
.home-news-grid-count-1 .home-news-card { display: grid; grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr); }
.home-news-grid-count-1 .home-news-media { height: 100%; aspect-ratio: auto; min-height: 360px; }
.home-news-grid-count-1 .home-news-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(36px, 6vw, 76px); }
.home-news-grid-count-1 .home-news-copy h3,
.home-news-grid-count-1 .home-news-copy > p { min-height: 0; max-width: 650px; }
.home-news-card { min-width: 0; border: 1px solid #D0DDE0; background: #F9FBFB; transition: transform .23s, border-color .23s, box-shadow .23s; }
.home-news-card:hover { transform: translateY(-4px); border-color: #A9C1C6; box-shadow: 0 20px 48px rgba(23,43,57,.08); }
.home-news-media { position: relative; display: block; aspect-ratio: 1.55 / 1; overflow: hidden; background: #DCE8EA; }
.home-news-media > img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.home-news-card:hover .home-news-media > img { transform: scale(1.025); }
.home-news-media > span:last-child { position: absolute; right: 16px; bottom: 14px; padding: 6px 8px; background: rgba(27,47,64,.9); color: white; font-size: 7px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.home-news-placeholder { position: absolute; inset: 0; display: block; background: linear-gradient(145deg, #DCEBED, #BFD5D9); }
.home-news-placeholder::before, .home-news-placeholder::after { content: ""; position: absolute; border: 1px solid rgba(41,83,96,.2); }
.home-news-placeholder::before { top: 22%; right: 17%; width: 42%; height: 42%; border-radius: 50%; }
.home-news-placeholder::after { right: 0; bottom: 18%; width: 72%; height: 1px; border-width: 1px 0 0; transform: rotate(-16deg); }
.home-news-placeholder-2 { background: linear-gradient(145deg, #E8EEEF, #D6E5E7); }
.home-news-placeholder-3 { background: linear-gradient(145deg, #D7E6E8, #C3D3D7); }
.home-news-copy { padding: 28px; }
.home-news-meta { margin-bottom: 22px; color: #3B7D87; font: 400 8px Audiowide, sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.home-news-copy h3 { min-height: 78px; font-size: clamp(1.18rem, 1.8vw, 1.5rem); }
.home-news-copy > p { min-height: 78px; color: var(--muted); font-size: 11px; }
.home-news-status { display: inline-flex; align-items: center; gap: 7px; margin-top: 8px; color: #6A818A; font-size: 8px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.home-news-status::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--cyan); }

@media (max-width: 980px) {
    .home-apps-heading { grid-template-columns: 1fr; gap: 18px; }
    .home-apps-grid { grid-template-columns: 1fr; }
    .home-app-card-cta { grid-column: auto; }
    .home-news-grid { grid-template-columns: 1fr 1fr; }
    .home-news-card:last-child { grid-column: 1 / -1; display: grid; grid-template-columns: .7fr 1.3fr; }
    .home-news-card:last-child .home-news-media { height: 100%; aspect-ratio: auto; }
}

@media (max-width: 700px) {
    .home-app-card:not(.home-app-card-cta), .home-app-card-cta { grid-template-columns: 1fr; }
    .home-app-visual { min-height: 330px; }
    .home-app-copy h3 { margin-top: 32px; }
    .home-app-cta-mark { min-height: 120px; }
    .home-news-grid { grid-template-columns: 1fr; }
    .home-news-grid-count-1 .home-news-card { display: block; }
    .home-news-grid-count-1 .home-news-media { min-height: 0; aspect-ratio: 1.55 / 1; }
    .home-news-grid-count-1 .home-news-copy { display: block; padding: 28px; }
    .home-news-card:last-child { grid-column: auto; display: block; }
    .home-news-card:last-child .home-news-media { aspect-ratio: 1.55 / 1; }
    .home-news-copy h3, .home-news-copy > p { min-height: 0; }
}


/* ZACCS 2.6 — visual system moderno, minimale e Apple-inspired */
:root {
    --blue: #1D2935;
    --deep: #111820;
    --paper: #F5F5F7;
    --soft: #F0F2F3;
    --white: #FAFAFC;
    --muted: #66717A;
    --line: rgba(29, 41, 53, .11);
    --line-dark: rgba(255, 255, 255, .14);
    --max: 1240px;
    --radius: 28px;
    --shadow: 0 18px 50px rgba(18, 31, 43, .08);
    --shadow-hover: 0 26px 70px rgba(18, 31, 43, .13);
}

html { scroll-padding-top: 92px; }
body {
    background: var(--paper);
    color: #1D2935;
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.55;
}

h1, h2, h3, h4, .identity {
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", Arial, sans-serif;
    font-feature-settings: "kern";
    letter-spacing: -.048em;
    text-wrap: balance;
}
h1 { font-weight: 700; line-height: .98; }
h2 { font-weight: 680; line-height: 1.02; }
h3 { font-weight: 650; line-height: 1.12; }
p { text-wrap: pretty; }

.wrap { width: min(var(--max), calc(100% - 64px)); }
.section { padding: clamp(96px, 9vw, 144px) 0; }
.section-soft { background: var(--paper); }
.section-dark { background: #12171C; }
.lead { color: #68737B; font-size: clamp(1.08rem, 1.65vw, 1.32rem); line-height: 1.58; letter-spacing: -.015em; }
.eyebrow,
.eyebrow-light,
.home-app-index,
.home-app-platform,
.home-news-meta,
.form-heading span,
.footer-main-v3 h3,
.footer-callout-v3 > div > span {
    color: #37818C;
    font-family: inherit;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: .045em;
    text-transform: uppercase;
}
.section-heading { gap: 60px; margin-bottom: 60px; }
.section-heading > div { max-width: 880px; }

.btn {
    min-height: 50px;
    padding: 12px 23px;
    border: 0;
    border-radius: 999px;
    background: var(--cyan);
    box-shadow: 0 8px 22px rgba(72, 149, 161, .2);
    font-size: 13px;
    font-weight: 650;
    letter-spacing: -.01em;
}
.btn:hover { background: #397F89; box-shadow: 0 12px 28px rgba(72, 149, 161, .27); transform: translateY(-2px); }
.btn-dark { background: #1D2935; box-shadow: 0 8px 22px rgba(17, 24, 32, .16); }
.btn-dark:hover { background: #0E141A; }
.btn-ghost { border: 1px solid rgba(255,255,255,.4); background: rgba(255,255,255,.07); box-shadow: none; backdrop-filter: blur(12px); }
.btn-outline-dark { border: 1px solid rgba(29,41,53,.18); border-radius: 999px; }
.text-link { font-size: 13px; font-weight: 650; }

/* Floating glass navigation */
.site-header,
.site-header.scrolled {
    inset: 12px 16px auto;
    width: auto;
    height: 66px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 22px;
    background: rgba(20, 32, 43, .78);
    box-shadow: 0 10px 35px rgba(5, 13, 20, .12);
    backdrop-filter: saturate(150%) blur(22px);
    -webkit-backdrop-filter: saturate(150%) blur(22px);
}
.nav-wrap { width: min(100%, 1230px); gap: 24px; }
.short-brand img { width: 170px; max-height: 43px; }
.main-nav { gap: 7px; padding: 4px; border: 1px solid rgba(255,255,255,.08); border-radius: 999px; background: rgba(255,255,255,.055); }
.main-nav a { padding: 8px 14px; border-radius: 999px; color: rgba(255,255,255,.76); font-size: 12px; font-weight: 550; }
.main-nav > li > a::after { display: none; }
.main-nav a:hover,
.main-nav .current-menu-item > a,
.main-nav .current-menu-ancestor > a { background: rgba(255,255,255,.12); color: white; }
.main-nav .sub-menu { top: calc(100% + 12px); border-radius: 18px; background: rgba(20,32,43,.94); backdrop-filter: blur(24px); }
.main-nav .sub-menu a { border-radius: 11px; }
.header-cta { min-height: 42px; padding-inline: 18px; box-shadow: none; }

/* Hero and page introductions */
.hero-full { min-height: calc(100svh - 12px); margin: 0 12px 12px; border-radius: 0 0 34px 34px; }
.hero-overlay {
    background: linear-gradient(90deg, rgba(5,12,18,.9) 0%, rgba(7,16,23,.7) 39%, rgba(8,18,27,.18) 72%, rgba(8,18,27,.05) 100%);
}
.hero-content { min-height: calc(100svh - 12px); padding-top: 140px; }
.hero-copy { max-width: 740px; text-shadow: none; }
.hero-copy h1 { max-width: 720px; font-size: clamp(3.1rem, 5.8vw, 5.65rem); }
.hero-copy .lead { max-width: 620px; color: rgba(255,255,255,.74); }
.hero-scroll { padding: 9px 13px; border: 1px solid rgba(255,255,255,.17); border-radius: 999px; background: rgba(6,15,22,.18); letter-spacing: .04em; backdrop-filter: blur(12px); }
.hero-scroll span { width: 18px; }

.page-hero {
    margin: 0 12px;
    padding: 190px 0 120px;
    border-radius: 0 0 34px 34px;
    background: radial-gradient(circle at 86% 20%, rgba(102,181,192,.22), transparent 36%), linear-gradient(145deg, #F8FAFA, #E9F0F1);
    color: var(--blue);
}
.page-hero::after { display: none; }
.page-hero h1 { max-width: 1030px; color: var(--blue); }
.page-hero .lead { color: #607079; }
.page-hero .eyebrow-light { color: #37818C; }

/* Home: editorial sections and cards */
.partner-intro,
.faq-section,
.home-news-section,
.integration-section,
.company-capabilities,
.contact-reach-v5 { background: var(--paper); }
.partner-intro-grid { gap: clamp(56px, 8vw, 118px); }
.partner-points span,
.service-deliverables span,
.home-app-copy li,
.footer-areas span,
.company-hero-signals span {
    border: 0;
    border-radius: 999px;
    background: rgba(72,149,161,.1);
    color: #396871;
    font-size: 10px;
    letter-spacing: 0;
}
.partner-visual { min-height: 460px; border-radius: 32px; background: linear-gradient(145deg,#E6ECEE,#FAFBFB); box-shadow: var(--shadow); }
.partner-visual::after { display: none; }
.partner-visual figcaption { right: 24px; bottom: 24px; left: 24px; padding: 14px 18px; border: 0; border-radius: 15px; background: rgba(255,255,255,.72); backdrop-filter: blur(18px); }

.home-services { background: #ECEFF1; }
.home-services::before { background: rgba(102,181,192,.13); filter: blur(45px); }
.home-area-grid { gap: 18px; }
.home-area-card,
.service-preview-card { border: 0; border-radius: 28px; box-shadow: 0 3px 18px rgba(24,39,52,.05); }
.home-area-card:hover,
.service-preview-card:hover { box-shadow: var(--shadow-hover); transform: translateY(-7px); }
.home-area-image { aspect-ratio: 1.24 / 1; }
.home-area-body { padding: 30px; }
.home-area-body > p { min-height: 90px; font-size: 13px; }

.portfolio-showcase { margin: 12px; border-radius: 34px; background: #111820; }
.portfolio-showcase::before { background: radial-gradient(circle at 78% 18%, rgba(72,149,161,.14), transparent 36%); }
.portfolio-topline { border-color: rgba(255,255,255,.11); }
.portfolio-topline > span { color: rgba(255,255,255,.5); letter-spacing: .03em; text-transform: none; }
.logo-marquee { border: 0; }
.portfolio-showcase .client-logo { flex-basis: 220px; height: 144px; border: 0; border-radius: 22px; background: rgba(255,255,255,.94); }
.portfolio-showcase .client-logo:hover { background: var(--cyan-light); transform: scale(1.025) translateY(-3px); }
.logo-placeholder b { font-family: inherit; letter-spacing: .08em; }
.slider-arrow { border: 0; background: rgba(255,255,255,.1); backdrop-filter: blur(10px); }

.home-apps-section { background: var(--paper); }
.home-apps-section::before { background: rgba(72,149,161,.09); border: 0; filter: blur(35px); }
.home-apps-grid { gap: 18px; }
.home-app-card { border: 0; border-radius: 30px; background: white; box-shadow: 0 4px 20px rgba(22,38,51,.055); transition: transform .28s, box-shadow .28s; }
.home-app-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-hover); }
.home-app-visual { background: linear-gradient(145deg,#DCE8EA,#F0F4F5); }
.home-app-visual::after { border-color: rgba(45,112,123,.12); }
.app-device-frame { border-radius: 40px; background: #17232D; box-shadow: 0 25px 55px rgba(25,57,72,.18); }
.app-device-frame img { border-radius: 28px; }
.home-app-copy li { padding: 7px 11px; }
.home-app-card-cta { border-radius: 30px; background: radial-gradient(circle at 18% 50%, rgba(102,181,192,.2), transparent 28%), #182733; }
.home-app-cta-mark { border: 0; border-radius: 24px; background: rgba(255,255,255,.07); }

.home-news-section { padding-top: 30px; }
.home-news-heading { border-color: var(--line); }
.home-news-card { overflow: hidden; border: 0; border-radius: 28px; background: white; box-shadow: 0 4px 20px rgba(22,38,51,.055); }
.home-news-card:hover { border: 0; box-shadow: var(--shadow-hover); transform: translateY(-6px); }
.home-news-copy { padding: 30px; }
.home-news-copy h3 { min-height: 68px; }
.home-news-copy > p { min-height: 68px; font-size: 13px; }
.home-news-media > span:last-child { right: 15px; bottom: 15px; border-radius: 999px; background: rgba(20,31,40,.76); backdrop-filter: blur(12px); }

.faq-layout { gap: clamp(55px,9vw,130px); }
.faq-list { display: grid; gap: 10px; border: 0; }
.faq-list details { overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: white; }
.faq-list summary { padding: 21px 52px 21px 22px; }
.faq-list summary::after { top: 15px; right: 18px; width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; background: rgba(72,149,161,.1); font-size: 18px; }
.faq-list details p { padding: 0 52px 22px 22px; }

.home-contact-v2 { margin: 12px; border-radius: 34px; background: radial-gradient(circle at 90% 85%, rgba(102,181,192,.17), transparent 32%), #182733; }
.home-contact-v2::after { display: none; }
.home-contact-form,
.form-panel { border: 0; border-radius: 28px; box-shadow: 0 20px 55px rgba(5,15,22,.16); }
.form input,
.form select,
.form textarea,
.contact-form-v4 .form input,
.contact-form-v4 .form select,
.contact-form-v4 .form textarea {
    min-height: 54px;
    padding: 13px 15px;
    border: 1px solid rgba(29,41,53,.12);
    border-radius: 14px;
    background: #F5F6F7;
}
.form textarea,
.contact-form-v4 .form textarea { min-height: 145px; border-radius: 18px; }

/* Company */
.company-hero-v3 {
    margin: 0 12px;
    padding: 155px 0 105px;
    border-radius: 0 0 34px 34px;
    background: radial-gradient(circle at 15% 24%, rgba(102,181,192,.16), transparent 31%), #F1F4F5;
    color: var(--blue);
}
.company-hero-v3::before { opacity: .22; }
.company-hero-v3-copy h1 { color: var(--blue); }
.company-hero-v3-copy .lead { color: #52646D; }
.company-hero-v3-copy > p:not(.lead) { color: #68757C; }
.company-image-hero { min-height: 590px; border: 0; border-radius: 32px; box-shadow: var(--shadow); }
.company-image figcaption { border-radius: 14px; background: rgba(18,29,38,.7); }
.company-manifesto { background: var(--paper); }
.company-manifesto-layout { overflow: hidden; border: 0; border-radius: 32px; box-shadow: var(--shadow); }
.manifesto-feature { background: linear-gradient(145deg,#356F79,#213948); }
.manifesto-feature > span,
.manifesto-list article > span { font-family: inherit; letter-spacing: .03em; }
.manifesto-list article > em { letter-spacing: .02em; text-transform: none; }
.company-method { margin: 12px; border-radius: 34px; background: #12171C; }
.company-image-dark { border-radius: 28px; }

/* Services */
.services-jump { overflow: hidden; margin-top: -40px; border: 0; border-radius: 24px; box-shadow: var(--shadow); }
.services-jump a { min-height: 104px; }
.services-jump a:hover { background: #E8F1F2; }
.services-jump span,
.service-chapter-title > span,
.service-modern-item > span { font-family: inherit; letter-spacing: .02em; }
.service-chapter { padding: clamp(96px,9vw,144px) 0; }
.service-chapter-dark { margin: 12px; border-radius: 34px; background: #12171C; }
.service-chapter-soft { background: #EDF0F2; }
.service-atlas { overflow: hidden; border-radius: 28px; box-shadow: var(--shadow); }
.service-atlas::after { border: 0; }
.service-modern-list { gap: 14px; }
.service-modern-item { min-height: 140px; border: 0; border-radius: 22px; background: white; box-shadow: 0 3px 16px rgba(22,38,51,.05); }
.service-modern-item:hover { border: 0; box-shadow: var(--shadow); transform: translateY(-4px); }
.service-mini-photo { border-radius: 15px; }
.service-chapter-dark .service-modern-item { border: 1px solid rgba(255,255,255,.08); border-radius: 22px; background: rgba(255,255,255,.055); }
.service-chapter-footer { border-color: var(--line); }
.integration-grid { gap: 14px; border: 0; }
.integration-grid article { border: 0 !important; border-radius: 22px; background: white; box-shadow: 0 3px 16px rgba(22,38,51,.05); }
.integration-grid span { margin-bottom: 54px; font-family: inherit; }

/* Contact */
.contact-hero-v5 {
    margin: 0 12px;
    border-radius: 0 0 34px 34px;
    background: radial-gradient(circle at 82% 30%, rgba(72,149,161,.17), transparent 32%), linear-gradient(145deg,#F6F8F8,#E5EFF0);
}
.contact-hero-v5::before,
.contact-hero-v5::after { opacity: .35; }
.contact-hero-v5-copy h1 { font-size: clamp(3.5rem,7vw,6.8rem); }
.contact-mini-map-v5 { overflow: hidden; border: 0; border-radius: 28px; background: #E7EFF0; box-shadow: var(--shadow); }
.contact-mini-map-caption { background: white; }
.contact-lines-v5 > div { grid-template-columns: 86px 1fr auto; border-color: var(--line); }
.contact-studio-v4 { background: #E7EEF0; }
.contact-studio-word { font-family: inherit; color: rgba(39,83,96,.045); }
.contact-form-v4 { border: 0; border-radius: 28px; }
.contact-note-v4 { border: 0; border-radius: 24px; background: rgba(255,255,255,.65); box-shadow: 0 4px 18px rgba(24,50,62,.05); }
.contact-note-primary { background: #3D828C; transform: none; }

/* Portfolio and generic content */
.portfolio-grid { gap: 18px; }
.portfolio-item,
.card,
.project-showcase { border: 0; border-radius: 26px; background: white; box-shadow: 0 4px 18px rgba(22,38,51,.055); }
.portfolio-item:hover { border: 0; background: white; box-shadow: var(--shadow-hover); transform: translateY(-5px); }
.portfolio-logo { border: 0; border-radius: 18px; background: #F1F3F4; }
.portfolio-index,
.portfolio-logo b { font-family: inherit; }
.content { max-width: 1080px; }
.content > h2 { margin-top: 80px; }
.cta { margin: 12px; border-radius: 34px; background: radial-gradient(circle at 80% 20%, rgba(102,181,192,.16), transparent 30%), #182733; }

/* Footer */
.site-footer { margin: 12px 12px 0; border-radius: 34px 34px 0 0; background: #11171D; }
.footer-callout-v3 { padding: 82px 0 66px; }
.footer-callout-v3 h2 { letter-spacing: -.045em; }
.footer-main-v3 { gap: clamp(32px,5vw,70px); }
.footer-main-v3 h3 { color: var(--cyan-light); letter-spacing: .035em; }
.footer-main-v3 .footer-nav a { color: rgba(255,255,255,.66); font-size: 12px; }
.footer-contact-v3 p { color: rgba(255,255,255,.78); }
.footer-location-v3 { overflow: hidden; border: 0; border-radius: 26px; background: #19242D; }
.footer-location-copy { background: #19242D; }
.footer-map-v3 iframe { filter: grayscale(.35) saturate(.7) brightness(.82); }
.footer-bottom { color: rgba(255,255,255,.44); }
.cookie { border: 1px solid rgba(255,255,255,.12); border-radius: 22px; background: rgba(17,24,32,.9); backdrop-filter: blur(22px); }

@media (max-width: 980px) {
    .site-header,
    .site-header.scrolled { inset-inline: 10px; top: 10px; }
    .main-nav { border: 0; border-radius: 22px; background: #14232E; }
    .main-nav a { border-radius: 12px; }
    .hero-full,
    .page-hero,
    .company-hero-v3,
    .contact-hero-v5,
    .portfolio-showcase,
    .home-contact-v2,
    .company-method,
    .service-chapter-dark,
    .cta { margin-inline: 8px; border-radius: 0 0 28px 28px; }
    .portfolio-showcase,
    .home-contact-v2,
    .company-method,
    .service-chapter-dark,
    .cta { border-radius: 28px; }
    .company-image-hero { min-height: 480px; }
    .home-news-grid-count-1 .home-news-card { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 700px) {
    .wrap { width: min(100% - 36px, var(--max)); }
    .section { padding: 82px 0; }
    h1 { font-size: clamp(2.7rem,13vw,4.2rem); }
    h2 { font-size: clamp(2rem,10vw,3rem); }
    .site-header,
    .site-header.scrolled { height: 62px; border-radius: 19px; }
    .short-brand img { width: 150px; }
    .header-cta { display: none; }
    .nav-toggle { display: block; }
    .hero-full { min-height: 92svh; }
    .hero-content { min-height: 92svh; padding: 120px 0 86px; }
    .hero-copy h1 { font-size: clamp(2.8rem,13.5vw,4.25rem); }
    .hero-copy .lead { font-size: 1.03rem; }
    .hero-scroll { right: auto; bottom: 20px; left: 0; }
    .page-hero { padding: 150px 0 84px; }
    .partner-visual { min-height: 350px; padding: 38px 25px; border-radius: 24px; }
    .home-area-card,
    .home-app-card,
    .home-news-card { border-radius: 24px; }
    .home-app-card:not(.home-app-card-cta) { min-height: 0; }
    .home-app-card-cta { border-radius: 24px; }
    .home-news-grid-count-1 .home-news-card { display: block; }
    .portfolio-topline,
    .section-heading,
    .footer-callout { align-items: flex-start; flex-direction: column; }
    .logo-slider { grid-template-columns: 40px minmax(0,1fr) 40px; gap: 7px; }
    .slider-arrow { width: 40px; height: 40px; }
    .company-hero-v3 { padding: 130px 0 78px; }
    .company-image-hero { min-height: 360px; border-radius: 24px; }
    .company-manifesto-layout { border-radius: 24px; }
    .service-atlas { border-radius: 22px; }
    .service-modern-item { border-radius: 18px; }
    .contact-hero-v5 { padding-top: 138px; }
    .contact-hero-v5-copy h1 { font-size: clamp(3rem,15vw,4.6rem); }
    .contact-lines-v5 > div { grid-template-columns: 1fr; gap: 7px; }
    .contact-mini-map-v5 { border-radius: 24px; }
    .form-row { grid-template-columns: 1fr; }
    .home-contact-form,
    .form-panel { border-radius: 24px; }
    .footer-main-v3 { grid-template-columns: 1fr 1fr; }
    .footer-identity-v3,
    .footer-contact-v3 { grid-column: 1 / -1; }
    .footer-location-v3 { border-radius: 22px; }
    .site-footer { margin-inline: 8px; border-radius: 28px 28px 0 0; }
}

@media (prefers-reduced-motion: reduce) {
    .home-area-card,
    .home-app-card,
    .home-news-card,
    .portfolio-item,
    .service-modern-item { transition: none; }
}

/* Full-bleed finale: deve restare dopo tutte le revisioni precedenti. */
.home .hero-full {
    width: 100%;
    min-height: 100svh;
    margin: 0;
    border-radius: 0;
}

.home .hero-content { min-height: 100svh; }

.site-footer {
    width: 100%;
    margin: 0;
    border-radius: 0;
}

@media (max-width: 680px) {
    .home .hero-full,
    .site-footer { margin-inline: 0; border-radius: 0; }
.home .hero-full,
.home .hero-content { min-height: 100svh; }
}

/* Home 2.8 — sezioni scure full-width e prodotti più essenziali. */
.home .portfolio-showcase,
.home .home-contact-v2 {
    width: 100%;
    margin-inline: 0;
    border-radius: 0;
    background-color: #1B2B36;
}

.home .portfolio-showcase { background: radial-gradient(circle at 84% 12%, rgba(102,181,192,.12), transparent 31%), #1B2B36; }
.home .portfolio-showcase::before { opacity: .55; }
.home .client-logo { background: #F7F9FA; }
.home .logo-placeholder em { display: none; }

.home-apps-heading { align-items: end; }
.home-apps-actions { max-width: 560px; display: grid; justify-items: start; gap: 20px; }
.home-apps-actions .lead { margin: 0; }
.btn-soft { border: 1px solid rgba(72,149,161,.22); background: rgba(72,149,161,.1); color: #285F68; box-shadow: none; }
.btn-soft:hover { background: var(--cyan); color: white; }

.home-app-card .app-device-frame {
    width: min(230px, 68%);
    padding: 0;
    border: 0;
    border-radius: 38px;
    background: transparent;
    box-shadow: none;
}

.home-app-card .app-device-frame img {
    width: 100%;
    aspect-ratio: 1;
    border-radius: 31px;
    object-fit: cover;
    box-shadow: 0 20px 48px rgba(36,66,78,.15);
}

@media (max-width: 900px) {
    .home-apps-heading { align-items: start; }
    .home-apps-actions { max-width: none; }
}

/* ZACCS 3.0 — premium, quiet and consistent. */
:root {
    --paper: #F7F8F8;
    --soft: #EEF1F2;
    --blue: #1B2A34;
    --deep: #11191F;
    --muted: #5E6D75;
    --line: rgba(27,42,52,.1);
    --shadow: 0 24px 70px rgba(20,37,47,.1);
    --shadow-hover: 0 30px 82px rgba(20,37,47,.15);
}

html { background: var(--paper); }
body { background: var(--paper); color: #263740; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
h1, h2, h3 { letter-spacing: -.045em; }
p { letter-spacing: -.012em; }
.section { padding-block: clamp(90px, 9vw, 144px); }
.eyebrow { letter-spacing: .075em; }

/* Header and language menu */
.site-header,
.site-header.scrolled {
    inset: 14px 18px auto;
    height: 68px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 23px;
    background: rgba(19,31,40,.78);
    box-shadow: 0 14px 46px rgba(5,13,20,.14);
    backdrop-filter: saturate(155%) blur(26px);
    -webkit-backdrop-filter: saturate(155%) blur(26px);
}
.nav-wrap { width: min(100% - 22px, 1280px); gap: 18px; }
.short-brand img { width: 166px; }
.main-nav { gap: 3px; border: 0; background: rgba(255,255,255,.045); }
.main-nav a { padding: 9px 15px; transition: color .22s, background .22s, box-shadow .22s; }
.main-nav a:hover,
.main-nav .current-menu-item > a,
.main-nav .current-menu-ancestor > a {
    background: rgba(102,181,192,.12);
    color: #F8FFFF;
    box-shadow: inset 0 0 0 1px rgba(102,181,192,.12), 0 0 22px rgba(102,181,192,.1);
}
.header-cta { min-height: 40px; padding-inline: 17px; background: rgba(102,181,192,.92); color: #102129; }
.header-cta:hover { background: #7BC6CF; color: #0C181E; }

.language-switcher { position: relative; flex: 0 0 auto; }
.language-switcher summary {
    width: 68px;
    height: 40px;
    display: grid;
    grid-template-columns: 17px 1fr 8px;
    align-items: center;
    gap: 7px;
    padding: 0 11px;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 999px;
    background: rgba(255,255,255,.065);
    color: white;
    cursor: pointer;
    list-style: none;
    transition: background .2s, border-color .2s, box-shadow .2s;
}
.language-switcher summary::-webkit-details-marker { display: none; }
.language-switcher summary:hover,
.language-switcher[open] summary { border-color: rgba(102,181,192,.36); background: rgba(102,181,192,.13); box-shadow: 0 0 22px rgba(102,181,192,.1); }
.language-switcher summary svg { width: 17px; fill: none; stroke: currentColor; stroke-width: 1.45; }
.language-switcher summary span { font-size: 10px; font-weight: 750; letter-spacing: .05em; }
.language-switcher summary i { width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .2s; }
.language-switcher[open] summary i { transform: translateY(2px) rotate(225deg); }
.language-popover {
    position: absolute;
    top: calc(100% + 13px);
    right: 0;
    width: 250px;
    padding: 10px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 20px;
    background: rgba(18,29,38,.97);
    box-shadow: 0 24px 65px rgba(3,10,15,.3);
    backdrop-filter: blur(26px);
}
.language-popover::before { content: ""; position: absolute; top: -8px; right: 24px; width: 16px; height: 16px; border-top: 1px solid rgba(255,255,255,.1); border-left: 1px solid rgba(255,255,255,.1); background: #14212B; transform: rotate(45deg); }
.language-popover-heading { display: flex; justify-content: space-between; padding: 11px 12px 12px; color: white; }
.language-popover-heading span { font-size: 12px; font-weight: 700; }
.language-popover-heading small { color: rgba(255,255,255,.42); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.language-option { display: grid; grid-template-columns: 32px 1fr; align-items: center; min-height: 40px; padding: 4px 8px; border-radius: 11px; transition: background .18s; }
.language-option:hover { background: rgba(102,181,192,.12); }
.language-option b { color: var(--cyan-light); font-size: 9px; letter-spacing: .06em; }
.language-option .glink { color: rgba(255,255,255,.78) !important; font-size: 11px !important; font-weight: 600; }
.language-option .glink:hover { color: white !important; }

/* Hero statement */
.hero-copy { max-width: 850px; }
.hero-copy .hero-statement { max-width: 850px; font-size: clamp(3.2rem, 5.75vw, 5.8rem); line-height: .94; letter-spacing: -.058em; }
.hero-statement span { display: block; }
.hero-statement span:last-child { color: #D8F4F7; }
.hero-copy .lead { max-width: 650px; margin-top: 30px; font-size: clamp(1rem, 1.4vw, 1.18rem); line-height: 1.7; }

/* Shared premium surfaces */
.page-hero,
.company-hero-v3,
.contact-hero-v5 { background: radial-gradient(circle at 84% 18%, rgba(102,181,192,.18), transparent 34%), linear-gradient(145deg,#FAFBFB,#E9EFF0); }
.home-area-card,
.home-app-card,
.home-news-card,
.portfolio-item,
.project-app-card,
.card { box-shadow: 0 6px 26px rgba(21,39,50,.055); }
.home-area-card:hover,
.home-app-card:hover,
.home-news-card:hover,
.portfolio-item:hover { box-shadow: var(--shadow-hover); transform: translateY(-5px); }

/* Service overview */
.service-introduction { padding-bottom: 106px; background: var(--paper); }
.services-jump { margin-top: -46px; border-radius: 26px; background: rgba(255,255,255,.9); box-shadow: 0 24px 70px rgba(18,38,49,.11); backdrop-filter: blur(18px); }
.services-jump a { min-height: 110px; }
.service-chapter { padding: clamp(100px, 10vw, 154px) 0; }
.service-chapter-light { background: #F7F8F8; }
.service-chapter-soft { background: #E9EDEF; }
.service-chapter-dark { margin-inline: 0; border-radius: 0; background: radial-gradient(circle at 88% 15%, rgba(102,181,192,.14), transparent 30%), #17232B; }
.service-atlas-collage { display: grid; grid-template-columns: 1.3fr .7fr; grid-template-rows: 1fr 1fr; gap: 6px; padding: 6px; background: rgba(255,255,255,.65); }
.service-atlas-collage img { min-width: 0; min-height: 0; object-fit: cover; }
.service-atlas-collage img:first-child { grid-row: 1 / 3; }
.service-atlas-collage figcaption { position: absolute; right: 18px; bottom: 18px; padding: 9px 13px; border-radius: 999px; background: rgba(18,31,40,.76); color: white; font-size: 9px; font-weight: 700; backdrop-filter: blur(14px); }
.service-modern-list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.service-modern-item { min-height: 154px; grid-template-columns: 118px 34px 1fr; gap: 20px; padding: 12px 24px 12px 12px; border-radius: 25px; }
.service-mini-photo { width: 118px; height: 130px; border-radius: 18px; }
.service-mini-photo img { transform: none; }
.service-modern-item:hover .service-mini-photo img { transform: scale(1.035); }
.service-modern-item h3 { font-size: 17px; }
.service-modern-item p { font-size: 11px; line-height: 1.65; }
.service-chapter-dark .service-modern-item { border: 1px solid rgba(255,255,255,.07); background: rgba(255,255,255,.055); box-shadow: none; }

/* Service detail pages: same item, same title, same visual, more depth. */
.service-detail-nav { position: relative; z-index: 3; margin-top: -42px; padding: 20px 24px; display: grid; grid-template-columns: 180px 1fr; align-items: center; gap: 24px; border-radius: 24px; background: rgba(255,255,255,.92); box-shadow: var(--shadow); backdrop-filter: blur(20px); }
.service-detail-nav > span { color: #397C86; font-size: 10px; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.service-detail-nav > div { display: flex; flex-wrap: wrap; gap: 7px; }
.service-detail-nav a { padding: 8px 11px; border-radius: 999px; background: #EFF3F4; color: #4F6069; font-size: 9px; font-weight: 650; }
.service-detail-nav a:hover { background: rgba(72,149,161,.15); color: #285F68; }
.service-detail-intro { background: var(--paper); }
.service-detail-intro-grid { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(300px,.75fr); gap: clamp(48px,8vw,120px); align-items: end; }
.service-detail-intro h2 { max-width: 760px; margin: 0; }
.service-detail-intro p:last-child { margin-bottom: 0; }
.service-detail-stack { background: #E9EDEF; }
.service-detail-row { padding: clamp(54px,6vw,90px) 0; border-top: 1px solid rgba(27,42,52,.08); scroll-margin-top: 104px; }
.service-detail-row:nth-child(even) { background: rgba(255,255,255,.62); }
.service-detail-row-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.88fr); align-items: center; gap: clamp(46px,8vw,120px); }
.service-detail-row:nth-child(even) figure { order: 2; }
.service-detail-row figure { aspect-ratio: 4 / 3; margin: 0; overflow: hidden; border-radius: 32px; background: white; box-shadow: var(--shadow); }
.service-detail-row figure img { width: 100%; height: 100%; object-fit: cover; }
.service-detail-copy > span { display: block; margin-bottom: 20px; color: #397C86; font-size: 10px; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.service-detail-copy h2 { margin-bottom: 20px; font-size: clamp(2.2rem,4.5vw,4.2rem); }
.service-detail-short { color: #304A56; font-size: clamp(1.02rem,1.5vw,1.22rem); font-weight: 650; line-height: 1.55; }
.service-detail-copy > p:not(.service-detail-short) { color: #5D6D75; font-size: 14px; line-height: 1.8; }
.service-detail-copy ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 28px 0 0; padding: 0; }
.service-detail-copy li { list-style: none; padding: 9px 13px; border-radius: 999px; background: rgba(72,149,161,.11); color: #356A73; font-size: 10px; font-weight: 700; }
.service-detail-close { background: #17252F; color: white; }
.service-detail-close .wrap { display: flex; justify-content: space-between; align-items: end; gap: 50px; }
.service-detail-close h2 { max-width: 830px; margin: 10px 0 0; color: white; }
.service-detail-close span { color: var(--cyan-light); font-size: 11px; font-weight: 700; }

@media (max-width: 1120px) {
    .header-cta { display: none; }
    .language-switcher { margin-left: auto; }
}

@media (max-width: 900px) {
    .site-header,
    .site-header.scrolled { inset: 10px 10px auto; }
    .main-nav { background: rgba(17,29,38,.98); }
    .service-modern-list { grid-template-columns: 1fr; }
    .service-detail-nav { grid-template-columns: 1fr; }
    .service-detail-intro-grid,
    .service-detail-row-grid { grid-template-columns: 1fr; }
    .service-detail-row:nth-child(even) figure { order: 0; }
    .service-detail-row figure { max-width: 720px; }
    .service-detail-close .wrap { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 700px) {
    .site-header,
    .site-header.scrolled { height: 62px; border-radius: 20px; }
    .short-brand img { width: 145px; }
    .language-switcher { margin-left: auto; }
    .language-switcher summary { width: 58px; height: 36px; grid-template-columns: 15px 1fr 7px; padding-inline: 9px; gap: 5px; }
    .language-switcher summary svg { width: 15px; }
    .language-popover { position: fixed; top: 82px; right: 12px; width: min(280px,calc(100vw - 24px)); }
    .hero-copy .hero-statement { font-size: clamp(2.85rem, 13vw, 4.35rem); line-height: .96; }
    .hero-copy .lead { margin-top: 24px; }
    .service-modern-item { min-height: 124px; grid-template-columns: 84px 24px 1fr; gap: 12px; padding: 10px 14px 10px 10px; }
    .service-mini-photo { width: 84px; height: 104px; border-radius: 14px; }
    .service-modern-item h3 { font-size: 14px; }
    .service-modern-item p { font-size: 10px; }
    .service-atlas-collage { border-radius: 22px; }
    .service-detail-nav { width: min(100% - 28px,var(--max)); padding: 18px; border-radius: 20px; }
    .service-detail-nav > div { max-height: 105px; overflow: auto; }
    .service-detail-row figure { border-radius: 24px; }
    .service-detail-copy h2 { font-size: clamp(2.2rem,11vw,3.4rem); }
}

/* ZACCS 3.1.1 — final visual QA overrides */
.site-header,
.site-header.scrolled {
    background: rgba(38, 53, 62, .76);
    border-color: rgba(255, 255, 255, .17);
    box-shadow: 0 16px 48px rgba(8, 20, 28, .14), inset 0 1px 0 rgba(255, 255, 255, .1);
}

.language-switcher summary {
    width: 142px;
    grid-template-columns: 17px 22px minmax(0, 1fr) 8px;
    gap: 7px;
    padding-inline: 12px;
}
.language-switcher summary strong {
    display: block;
    min-width: 0;
    overflow: hidden;
    color: rgba(255, 255, 255, .76);
    font-size: 10px;
    font-weight: 650;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.partner-copy-v5 .editable-section-copy p {
    max-width: 620px;
    margin-inline: auto;
    color: #66777E;
}

.services-overview-v5 > a {
    min-height: 390px;
    display: flex;
    grid-template: none;
    gap: 0;
    padding: 14px;
}
.services-overview-v5 > a > img {
    width: 100%;
    height: auto;
    aspect-ratio: 1.65 / 1;
    margin: 0 0 24px;
    border-radius: 17px;
    object-fit: cover;
}
.services-overview-v5 > a > span {
    grid-row: auto;
    padding-inline: 12px;
    color: #1E323C;
    font: 750 clamp(1.55rem, 2.25vw, 2.15rem)/1.05 Montserrat, sans-serif;
    letter-spacing: -.045em;
}
.services-overview-v5 > a > p {
    padding-inline: 12px;
    margin: 14px 0 24px;
    color: #60727B;
    font-size: 12px;
    line-height: 1.65;
}
.services-overview-v5 > a > em {
    margin-top: auto;
    padding: 0 12px 10px;
    color: #31737E;
    font-size: 10px;
    letter-spacing: .04em;
}

@media (max-width: 1120px) {
    .language-switcher summary {
        width: 68px;
        grid-template-columns: 17px 1fr 8px;
        padding-inline: 10px;
    }
    .language-switcher summary strong { display: none; }
}

@media (max-width: 700px) {
    .language-switcher summary {
        width: 58px;
        grid-template-columns: 15px 1fr 7px;
        padding-inline: 9px;
    }
    .services-overview-v5 > a {
        min-height: 0;
        display: flex;
        padding: 12px 12px 22px;
        border-radius: 22px;
    }
    .services-overview-v5 > a > img {
        width: 100%;
        height: auto;
        aspect-ratio: 1.55 / 1;
        margin-bottom: 22px;
        border-radius: 16px;
    }
    .services-overview-v5 > a > span {
        padding-inline: 10px;
        font-size: 1.65rem;
    }
    .services-overview-v5 > a > p {
        padding-inline: 10px;
        margin-block: 13px 22px;
        font-size: 12px;
    }
    .services-overview-v5 > a > em { padding-inline: 10px; }
}

/* ZACCS 3.2 — cleaner labels, interactive apps and redesigned contact flow */
.hero-scroll-minimal {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    padding: 0;
    border-radius: 50%;
    font-size: 0;
}
.hero-scroll-minimal span { width: 18px; margin: 0; }

.partner-earth {
    opacity: 1;
    filter: none;
    transform: translate3d(calc(var(--pointer-x, 0) * -18px), calc(var(--scroll-progress, 0) * -48px + var(--pointer-y, 0) * -14px), 0) rotate(calc(var(--scroll-progress, 0) * 2.6deg));
    transition: filter .4s ease;
}
.partner-rocket {
    opacity: 1;
    filter: drop-shadow(0 28px 38px rgba(34,85,97,.2));
    transform: translate3d(calc(var(--scroll-progress, 0) * 24px + var(--pointer-x, 0) * 19px), calc(var(--scroll-progress, 0) * -70px + var(--pointer-y, 0) * 14px), 0) rotate(calc(-4deg + var(--pointer-x, 0) * 1.4deg));
}
.partner-copy-v5 { padding-top: clamp(46px,6vw,76px); }
.partner-slogan-image {
    width: min(340px, 78%);
    max-height: 76px;
    display: block;
    margin: 30px auto -10px;
    object-fit: contain;
    transform: scale(1.72);
    transform-origin: center;
}

.home-services-heading > div { max-width: 850px; }
.home-area-image > span { display: none; }

/* Interactive application selector */
.app-selector-v6 { margin-top: clamp(42px,6vw,78px); }
.app-focus-card-v6 {
    position: relative;
    min-height: 520px;
    display: grid;
    grid-template-columns: minmax(300px,.78fr) minmax(0,1.22fr);
    overflow: hidden;
    border-radius: 40px;
    background: radial-gradient(circle at 15% 18%,rgba(102,181,192,.24),transparent 33%), #182B35;
    color: white;
    box-shadow: 0 34px 90px rgba(17,40,51,.18);
    transition: transform .35s ease, box-shadow .35s ease, opacity .16s ease;
}
.app-focus-card-v6:hover { transform: translateY(-6px); box-shadow: 0 42px 105px rgba(17,40,51,.24); }
.app-selector-v6.is-changing .app-focus-card-v6 { opacity: .72; }
.app-focus-visual-v6 { display: grid; place-items: center; padding: clamp(38px,6vw,80px); background: linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.025)); }
.app-focus-visual-v6 img { width: min(290px,80%); aspect-ratio: 1; border-radius: 28%; object-fit: cover; box-shadow: 0 34px 70px rgba(2,14,22,.28); transition: transform .35s ease; }
.app-focus-card-v6:hover .app-focus-visual-v6 img { transform: scale(1.035) rotate(-1deg); }
.app-focus-copy-v6 { display: flex; flex-direction: column; justify-content: center; padding: clamp(46px,7vw,94px); }
.app-focus-copy-v6 > span { color: #8BD3DC; font-size: 10px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.app-focus-copy-v6 h3 { margin: 14px 0 22px; color: white; font-size: clamp(3.2rem,6.8vw,7rem); line-height: .9; }
.app-focus-copy-v6 p { max-width: 680px; color: rgba(255,255,255,.7); font-size: clamp(1rem,1.45vw,1.2rem); line-height: 1.7; }
.app-focus-copy-v6 ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 28px 0 42px; padding: 0; }
.app-focus-copy-v6 li { list-style: none; padding: 8px 12px; border-radius: 999px; background: rgba(102,181,192,.13); color: #C5E7EA; font-size: 10px; font-weight: 700; }
.app-focus-copy-v6 > strong { color: white; font-size: 12px; }
.app-focus-copy-v6 > strong i { margin-left: 8px; color: var(--cyan-light); font-style: normal; }
.app-icon-rail-v6 { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 12px; margin-top: 18px; }
.app-icon-choice-v6 { min-width: 0; display: flex; align-items: center; gap: 12px; padding: 12px; border: 1px solid rgba(39,69,82,.09); border-radius: 20px; background: rgba(255,255,255,.76); color: #53666F; cursor: pointer; text-align: left; transition: transform .22s,background .22s,border-color .22s,box-shadow .22s; }
.app-icon-choice-v6:hover,.app-icon-choice-v6.is-active { transform: translateY(-3px); border-color: rgba(72,149,161,.32); background: white; box-shadow: 0 16px 35px rgba(25,52,64,.09); color: #1D3742; }
.app-icon-choice-v6 img { width: 48px; height: 48px; flex: 0 0 48px; border-radius: 14px; object-fit: cover; }
.app-icon-choice-v6 span { min-width: 0; overflow: hidden; font-size: 10px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.app-selector-actions-v6 { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: 28px; }

/* Services begin with the three primary areas */
.services-entry-v6 { padding: 112px 0 68px; background: linear-gradient(145deg,#F7F9F9,#E7EEF0); }
.services-entry-v6 .services-overview-v5 { margin-top: 0; margin-bottom: 0; }
.service-catalog-v3 { position: relative; overflow: clip; isolation: isolate; }
.service-catalog-v3 .service-chapter { position: relative; z-index: 2; }
.service-journey-rail-v6 { position: absolute; inset: 0 0 0 auto; z-index: 4; width: clamp(210px,22vw,360px); overflow: visible; pointer-events: none; }
.service-journey-rail-v6::before { content: ""; position: absolute; top: 4%; bottom: 4%; left: 50%; width: 1px; background: linear-gradient(transparent,rgba(72,149,161,.28) 15%,rgba(72,149,161,.28) 85%,transparent); }
.service-journey-sculpture-v6 { position: sticky; top: 105px; width: 100%; max-height: calc(100vh - 135px); object-fit: contain; opacity: .5; filter: saturate(.92) drop-shadow(0 24px 55px rgba(28,74,85,.18)); transform: translate3d(calc(var(--pointer-x,0) * 10px),calc(var(--scroll-progress,0) * -26px + var(--pointer-y,0) * 10px),0) rotate(calc(var(--scroll-progress,0) * 1.4deg)); }
.service-chapter > .wrap { position: relative; z-index: 3; padding-right: clamp(160px,18vw,230px); }
.service-modern-item { grid-template-columns: 118px minmax(0,1fr); }

/* Flag-and-code language control */
@media (min-width: 1121px) {
    .language-switcher summary {
        width: 82px;
        grid-template-columns: 23px 20px 8px;
        gap: 6px;
        padding-inline: 11px;
    }
}
.language-current-flag { font-size: 17px !important; line-height: 1; letter-spacing: 0 !important; }
.language-option { grid-template-columns: 34px 1fr; }
.language-option b { font-size: 18px; line-height: 1; }

/* Contact page: immediate details and one unified location hub */
.contact-hero-v5 { position: relative; min-height: 96svh; }
.contact-hero-v5-copy { position: relative; z-index: 2; }
.contact-hero-v5-copy h1,.contact-hero-v5-copy > .lead,.contact-hero-quick-v6,.contact-scroll-link { position: relative; z-index: 2; }
.contact-hero-object-v6 { position: absolute; z-index: 1; top: 3%; right: -14%; width: min(680px,58vw); opacity: .52; pointer-events: none; filter: drop-shadow(0 32px 65px rgba(36,87,98,.16)); transform: translate3d(calc(var(--pointer-x,0) * 17px),calc(var(--scroll-progress,0) * -38px + var(--pointer-y,0) * 13px),0) rotate(calc(var(--pointer-x,0) * 1deg)); }
.contact-hero-v5-copy > .lead { max-width: 710px; }
.contact-hero-quick-v6 { max-width: 920px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-top: 38px; }
.contact-hero-quick-v6 a { min-width: 0; padding: 17px 19px; border: 1px solid rgba(40,94,104,.13); border-radius: 19px; background: rgba(255,255,255,.54); box-shadow: inset 0 1px 0 rgba(255,255,255,.8); backdrop-filter: blur(18px); transition: transform .22s,background .22s,box-shadow .22s; }
.contact-hero-quick-v6 a:hover { transform: translateY(-3px); background: rgba(255,255,255,.82); box-shadow: 0 17px 38px rgba(32,70,82,.09); }
.contact-hero-quick-v6 small { display: block; margin-bottom: 7px; color: #3B7E88; font-size: 9px; font-weight: 750; text-transform: uppercase; }
.contact-hero-quick-v6 strong { display: block; overflow: hidden; color: #203640; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.contact-reach-v6 { background: #F7F9F9; }
.contact-hub-v6 { overflow: hidden; padding: clamp(28px,4vw,54px); border-radius: 42px; background: radial-gradient(circle at 84% 8%,rgba(102,181,192,.2),transparent 28%), #192B35; color: white; box-shadow: 0 36px 95px rgba(18,43,54,.17); }
.contact-hub-heading-v6 { display: grid; grid-template-columns: 1.05fr .95fr; align-items: end; gap: clamp(40px,7vw,100px); margin-bottom: clamp(34px,5vw,64px); padding: 8px 8px 0; }
.contact-hub-heading-v6 h2 { margin: 0; color: white; font-size: clamp(3rem,6vw,6.4rem); line-height: .92; }
.contact-hub-heading-v6 p { margin: 0; color: rgba(255,255,255,.66); font-size: clamp(1rem,1.45vw,1.2rem); line-height: 1.75; }
.contact-hub-heading-v6 p strong { color: #92D6DE; }
.contact-hub-body-v6 { display: grid; grid-template-columns: minmax(300px,.72fr) minmax(0,1.28fr); gap: 18px; }
.contact-channel-list-v6 { display: grid; gap: 10px; margin: 0; font-style: normal; }
.contact-channel-list-v6 a { display: flex; flex-direction: column; justify-content: center; min-height: 142px; padding: 25px 28px; border: 1px solid rgba(255,255,255,.09); border-radius: 25px; background: rgba(255,255,255,.055); transition: transform .22s,background .22s,border-color .22s; }
.contact-channel-list-v6 a:hover { transform: translateX(5px); border-color: rgba(102,181,192,.32); background: rgba(102,181,192,.11); }
.contact-channel-list-v6 small { margin-bottom: 8px; color: #82CBD4; font-size: 9px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.contact-channel-list-v6 strong { color: white; font-size: clamp(1.15rem,2vw,1.65rem); line-height: 1.15; overflow-wrap: anywhere; }
.contact-channel-list-v6 span { margin-top: 8px; color: rgba(255,255,255,.48); font-size: 10px; }
.contact-map-v6 { position: relative; min-height: 448px; overflow: hidden; border-radius: 29px; background: #E4EBEC; }
.contact-map-v6 iframe { width: 100%; height: 100%; min-height: 448px; border: 0; filter: saturate(.7) contrast(.92); }
.contact-map-footer-v6 { position: absolute; right: 18px; bottom: 18px; left: 18px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 17px 20px; border-radius: 18px; background: rgba(248,251,251,.88); color: #243D47; box-shadow: 0 18px 45px rgba(18,38,49,.16); backdrop-filter: blur(20px); }
.contact-map-footer-v6 > span { font-size: 11px; font-weight: 750; }
.contact-map-footer-v6 > div { display: flex; gap: 14px; }
.contact-map-footer-v6 a { color: #327580; font-size: 9px; font-weight: 750; text-transform: uppercase; }
.contact-hub-next-v6 { width: fit-content; display: flex; align-items: center; gap: 10px; margin: 26px 8px 0 auto; color: rgba(255,255,255,.74); font-size: 11px; font-weight: 700; }
.contact-hub-next-v6 span { color: #82CBD4; }
.footer-contact-v3 a { color: #D0DDE1; overflow-wrap: anywhere; }

/* Dedicated application pages */
.app-single-hero-v6 { padding: 150px 0 100px; background: radial-gradient(circle at 78% 18%,rgba(102,181,192,.22),transparent 30%),linear-gradient(145deg,#F8FAFA,#E2EAEC); }
.app-single-hero-grid-v6 { display: grid; grid-template-columns: minmax(260px,.72fr) minmax(0,1.28fr); align-items: center; gap: clamp(55px,9vw,130px); }
.app-single-icon-v6 { display: grid; place-items: center; min-height: 520px; border-radius: 42px; background: rgba(255,255,255,.58); box-shadow: inset 0 1px 0 white,0 28px 80px rgba(28,62,74,.1); backdrop-filter: blur(22px); }
.app-single-icon-v6 img { width: min(310px,70%); height: auto; aspect-ratio: 1; border-radius: 28%; object-fit: cover; box-shadow: 0 34px 70px rgba(23,54,67,.18); }
.app-single-copy-v6 > span { display: block; margin: 30px 0 13px; color: #347984; font-size: 10px; font-weight: 750; text-transform: uppercase; }
.app-single-copy-v6 h1 { margin: 0 0 24px; font-size: clamp(4rem,8vw,8.5rem); line-height: .86; }
.app-single-copy-v6 ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 30px 0; padding: 0; }
.app-single-copy-v6 li { list-style: none; padding: 9px 13px; border-radius: 999px; background: rgba(72,149,161,.12); color: #326D76; font-size: 10px; font-weight: 700; }
.app-single-content-v6 { background: #F8F9F9; }
.app-single-content-grid-v6 { display: grid; grid-template-columns: 250px minmax(0,760px); justify-content: center; gap: clamp(50px,8vw,110px); }
.app-single-content-grid-v6 aside span { color: #347984; font-size: 10px; font-weight: 750; text-transform: uppercase; }
.app-single-content-grid-v6 aside p { color: #64747C; font-size: 12px; line-height: 1.7; }

@media (max-width: 1000px) {
    .app-icon-rail-v6 { grid-template-columns: repeat(4,minmax(0,1fr)); }
    .contact-hub-heading-v6,.contact-hub-body-v6 { grid-template-columns: 1fr; }
    .service-journey-rail-v6 { display: none; }
    .service-chapter > .wrap { padding-right: 0; }
}

@media (max-width: 700px) {
    .hero-scroll-minimal { width: 46px; height: 46px; }
    .partner-earth { left: -260px; bottom: -80px; width: 560px; opacity: .92; }
    .partner-rocket { opacity: .96; }
    .partner-slogan-image { width: min(280px,90%); margin-top: 24px; transform: scale(1.52); }
    .app-focus-card-v6 { min-height: 0; grid-template-columns: 1fr; border-radius: 29px; }
    .app-focus-visual-v6 { min-height: 300px; padding: 42px; }
    .app-focus-visual-v6 img { width: 190px; }
    .app-focus-copy-v6 { padding: 34px 26px 40px; }
    .app-focus-copy-v6 h3 { font-size: clamp(3rem,15vw,4.7rem); }
    .app-icon-rail-v6 { display: flex; overflow-x: auto; padding: 4px 2px 18px; scroll-snap-type: x mandatory; }
    .app-icon-choice-v6 { flex: 0 0 96px; flex-direction: column; justify-content: center; text-align: center; scroll-snap-align: start; }
    .app-icon-choice-v6 img { width: 54px; height: 54px; flex-basis: 54px; }
    .app-selector-actions-v6 { align-items: stretch; flex-direction: column; }
    .app-selector-actions-v6 .btn { width: 100%; }
    .services-entry-v6 { padding: 88px 0 46px; }
    .service-journey-rail-v6 { display: none; }
    .service-modern-item { grid-template-columns: 84px minmax(0,1fr); }
    .language-switcher summary { width: 66px; grid-template-columns: 21px 18px 7px; gap: 5px; padding-inline: 8px; }
    .language-current-flag { font-size: 15px !important; }
    .contact-hero-v5 { min-height: auto; padding: 126px 0 76px; }
    .contact-hero-object-v6 { top: 7%; right: -38%; width: 115vw; opacity: .26; }
    .contact-hero-quick-v6 { grid-template-columns: 1fr; }
    .contact-hub-v6 { padding: 20px; border-radius: 29px; }
    .contact-hub-heading-v6 { gap: 24px; padding: 12px 7px 0; }
    .contact-hub-heading-v6 h2 { font-size: clamp(3rem,14vw,4.5rem); }
    .contact-channel-list-v6 a { min-height: 128px; padding: 23px 22px; border-radius: 21px; }
    .contact-map-v6,.contact-map-v6 iframe { min-height: 390px; }
    .contact-map-footer-v6 { align-items: flex-start; flex-direction: column; }
    .contact-map-footer-v6 > div { flex-wrap: wrap; }
    .contact-hub-next-v6 { margin-right: 6px; }
    .app-single-hero-v6 { padding: 118px 0 78px; }
    .app-single-hero-grid-v6,.app-single-content-grid-v6 { grid-template-columns: 1fr; }
    .app-single-icon-v6 { min-height: 340px; border-radius: 30px; }
    .app-single-icon-v6 img { width: 190px; }
}

@media (prefers-reduced-motion: reduce) {
    .partner-earth,.partner-rocket,.contact-hero-object-v6,.service-journey-sculpture-v6 { transform: none; }
}

/* ZACCS 3.3 — expressive motion, progressive services and editorial footer */
.partner-earth {
    transform: translate3d(calc(var(--pointer-x, 0) * -48px), calc(var(--scroll-progress, 0) * -112px + var(--pointer-y, 0) * -34px), 0) rotate(calc(var(--scroll-progress, 0) * 6.5deg + var(--pointer-x, 0) * -2deg));
    will-change: transform;
}
.partner-rocket {
    transform: translate3d(calc(var(--scroll-progress, 0) * 58px + var(--pointer-x, 0) * 62px), calc(var(--scroll-progress, 0) * -152px + var(--pointer-y, 0) * 44px), 0) rotate(calc(-4deg + var(--pointer-x, 0) * 4deg + var(--scroll-progress, 0) * 3deg));
    filter: drop-shadow(0 35px 44px rgba(34,85,97,.26));
    will-change: transform;
}

/* Stable and smoother application showcase */
.app-focus-card-v6 {
    height: 560px;
    min-height: 560px;
}
.app-focus-visual-v6,
.app-focus-copy-v6 {
    transition: opacity .28s cubic-bezier(.22,.61,.36,1), transform .38s cubic-bezier(.22,.61,.36,1), filter .32s ease;
}
.app-selector-v6.is-leaving .app-focus-visual-v6 { opacity: 0; filter: blur(8px); transform: translateX(-24px) scale(.975); }
.app-selector-v6.is-leaving .app-focus-copy-v6 { opacity: 0; filter: blur(6px); transform: translateX(28px); }
.app-selector-v6.is-entering .app-focus-visual-v6 { animation: appVisualIn .48s cubic-bezier(.16,1,.3,1) both; }
.app-selector-v6.is-entering .app-focus-copy-v6 { animation: appCopyIn .52s .04s cubic-bezier(.16,1,.3,1) both; }
@keyframes appVisualIn { from { opacity:0; filter:blur(8px); transform:translateX(24px) scale(.975); } to { opacity:1; filter:blur(0); transform:none; } }
@keyframes appCopyIn { from { opacity:0; filter:blur(6px); transform:translateX(-22px); } to { opacity:1; filter:blur(0); transform:none; } }
.app-focus-copy-v6 p {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
}
.app-icon-rail-v6 { gap: 14px; margin-top: 22px; }
.app-icon-choice-v6 { min-height: 92px; padding: 14px; border-radius: 22px; }
.app-icon-choice-v6 img { width: 62px; height: 62px; flex-basis: 62px; border-radius: 17px; }

/* Services: separated cards and a journey revealed by page progress */
.services-entry-v6 {
    position: relative;
    overflow: hidden;
    padding: 124px 0 88px;
    background:
        radial-gradient(circle at 7% 18%,rgba(102,181,192,.22),transparent 23%),
        radial-gradient(circle at 94% 78%,rgba(72,149,161,.16),transparent 24%),
        linear-gradient(145deg,#F8FAFA,#E4ECEE);
    isolation: isolate;
}
.services-entry-v6::before,
.services-entry-v6::after {
    content: "";
    position: absolute;
    z-index: -1;
    border: 1px solid rgba(72,149,161,.18);
    border-radius: 50%;
    box-shadow: inset 0 0 80px rgba(102,181,192,.08), 0 0 80px rgba(102,181,192,.08);
}
.services-entry-v6::before { top: -250px; left: -180px; width: 560px; height: 560px; }
.services-entry-v6::after { right: -190px; bottom: -300px; width: 680px; height: 680px; }
.services-entry-v6 .services-overview-v5 {
    gap: clamp(22px,2.2vw,34px);
    padding: 0;
    background: transparent;
}
.services-entry-v6 .services-overview-v5 > a {
    border: 1px solid rgba(25,54,66,.09);
    background: rgba(255,255,255,.72);
    box-shadow: 0 25px 70px rgba(28,58,70,.08), inset 0 1px 0 rgba(255,255,255,.9);
    backdrop-filter: blur(20px);
}
.services-entry-v6 .services-overview-v5 > a:nth-child(2) { transform: translateY(24px); }
.services-entry-v6 .services-overview-v5 > a:hover { transform: translateY(-8px); box-shadow: 0 34px 85px rgba(28,58,70,.14); }
.services-entry-v6 .services-overview-v5 > a:nth-child(2):hover { transform: translateY(16px); }
.service-catalog-v3 { --service-clip: 94%; }
.service-journey-rail-v6 { right: clamp(4px,2vw,30px); width: clamp(230px,23vw,380px); }
.service-journey-rail-v6::before { display: none; }
.service-journey-rail-v6::after {
    content: "";
    position: sticky;
    top: calc(105px + min(70vh,620px) * var(--service-reveal,.06));
    display: block;
    width: 80%;
    height: 2px;
    margin: -2px auto 0;
    background: radial-gradient(ellipse,rgba(102,181,192,.8),rgba(102,181,192,0) 70%);
    filter: blur(1px);
}
.service-journey-sculpture-v6 {
    max-height: calc(100vh - 125px);
    opacity: .72;
    clip-path: inset(0 0 var(--service-clip,94%) 0 round 18px);
    filter: saturate(1.05) drop-shadow(0 30px 68px rgba(28,74,85,.23));
    transform: translate3d(calc(var(--pointer-x,0) * 18px),calc(var(--scroll-progress,0) * -34px + var(--pointer-y,0) * 16px),0) rotate(calc(var(--scroll-progress,0) * 2deg));
    transition: clip-path .09s linear;
    will-change: clip-path,transform;
}

/* Contact channels */
.contact-hero-quick-v6 { max-width: 1120px; grid-template-columns: repeat(4,minmax(0,1fr)); }
.contact-hub-heading-v6 { grid-template-columns: .72fr 1.28fr; align-items: start; }
.contact-hub-heading-v6 > span {
    color: #82CBD4;
    font: 400 10px/1.4 Audiowide,sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.contact-hub-body-v6 { grid-template-columns: minmax(420px,.9fr) minmax(0,1.1fr); gap: 22px; }
.contact-channel-list-v6 { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.contact-channel-list-v6 a {
    position: relative;
    min-height: 176px;
    overflow: hidden;
    padding: 27px;
    border-radius: 27px;
    background: linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.035));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
    transition: transform .35s cubic-bezier(.16,1,.3,1),background .3s,border-color .3s,box-shadow .3s;
}
.contact-channel-list-v6 a::before {
    content: "";
    position: absolute;
    inset: auto -35% -70% 35%;
    height: 125%;
    border-radius: 50%;
    background: rgba(102,181,192,.14);
    filter: blur(28px);
    opacity: 0;
    transition: opacity .3s,transform .45s;
}
.contact-channel-list-v6 a:hover { transform: translateY(-6px); border-color: rgba(102,181,192,.38); background: rgba(102,181,192,.1); box-shadow: 0 22px 48px rgba(6,19,27,.2),inset 0 1px 0 rgba(255,255,255,.1); }
.contact-channel-list-v6 a:hover::before { opacity: 1; transform: translate(-12%,-10%); }
.contact-channel-list-v6 a > * { position: relative; z-index: 1; }
.contact-channel-list-v6 a > i { position: absolute; top: 22px; right: 23px; color: rgba(255,255,255,.38); font-style: normal; transition: color .25s,transform .25s; }
.contact-channel-list-v6 a:hover > i { color: #8DD5DE; transform: translate(3px,-3px); }
.contact-channel-list-v6 .contact-channel-address-v7 { grid-column: 1 / -1; min-height: 142px; }
.contact-map-v6,.contact-map-v6 iframe { min-height: 552px; }

/* Footer v7 */
.site-footer.site-footer-v7 {
    margin: 0;
    padding: clamp(82px,9vw,138px) 0 28px;
    border-radius: 0;
    background:
        radial-gradient(circle at 86% 3%,rgba(72,149,161,.18),transparent 26%),
        radial-gradient(circle at 4% 56%,rgba(102,181,192,.08),transparent 28%),
        #111B22;
    color: #F5FAFB;
}
.footer-opening-v7 {
    display: grid;
    grid-template-columns: minmax(280px,.82fr) minmax(420px,1.18fr);
    align-items: end;
    gap: clamp(70px,10vw,150px);
    padding-bottom: clamp(64px,8vw,104px);
    border-bottom: 1px solid rgba(255,255,255,.11);
}
.footer-identity-v7 .footer-logo { width: min(280px,88%); }
.footer-slogan-v7 { width: min(380px,100%); margin: 26px 0 20px; }
.footer-identity-v7 > p { max-width: 470px; margin: 0; color: rgba(235,246,248,.66); font-size: 12px; line-height: 1.75; }
.footer-conversation-v7 > span { color: #80CBD4; font-size: 10px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.footer-conversation-v7 h2 { max-width: 760px; margin: 18px 0 36px; color: white; font-size: clamp(2.7rem,5vw,5.7rem); line-height: .94; letter-spacing: -.055em; }
.footer-conversation-link-v7 { width: fit-content; display: inline-flex; align-items: center; gap: 22px; color: #F5FAFB; font-size: 13px; font-weight: 750; }
.footer-conversation-link-v7 i { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid rgba(102,181,192,.35); border-radius: 50%; color: #87D2DB; font-style: normal; transition: transform .3s,background .3s,color .3s; }
.footer-conversation-link-v7:hover i { transform: rotate(45deg); background: #66B5C0; color: #102027; }
.footer-directory-v7 { display: grid; grid-template-columns: .65fr .9fr 1fr 1.7fr; gap: clamp(35px,5vw,74px); padding: clamp(54px,6vw,82px) 0; border-bottom: 1px solid rgba(255,255,255,.11); }
.footer-directory-v7 h3 { margin: 0 0 23px; color: #74C1CA; font: 400 9px/1.4 Audiowide,sans-serif; letter-spacing: .07em; text-transform: uppercase; }
.footer-directory-v7 nav,.footer-contact-v7 { display: flex; flex-direction: column; align-items: flex-start; }
.footer-directory-v7 nav a,.footer-contact-v7 > a { width: fit-content; margin: 0 0 10px; color: rgba(242,249,250,.72); font-size: 12px; transition: color .2s,transform .2s; }
.footer-directory-v7 nav a:hover,.footer-contact-v7 > a:hover { color: white; transform: translateX(4px); }
.footer-location-v7 { display: grid; grid-template-columns: .92fr 1.08fr; gap: 25px; }
.footer-location-v7 p { margin: 0 0 14px; color: rgba(242,249,250,.65); font-size: 11px; line-height: 1.65; }
.footer-location-v7 > div > span { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.footer-location-v7 > div > span a { color: #87D2DB; font-size: 9px; font-weight: 750; text-transform: uppercase; }
.footer-map-v7 { position: relative; min-height: 190px; overflow: hidden; border-radius: 24px; background: #20343E; }
.footer-map-v7 iframe { width: 100%; height: 100%; min-height: 190px; border: 0; filter: grayscale(.5) saturate(.55) brightness(.72); pointer-events: none; }
.footer-map-v7 > i { position: absolute; top: 13px; right: 13px; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; background: rgba(17,27,34,.82); color: #8DD6DE; font-style: normal; backdrop-filter: blur(12px); }
.footer-meta-v7 { min-height: 76px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 30px; color: rgba(242,249,250,.43); font-size: 9px; }
.footer-meta-v7 nav { display: flex; gap: 18px; }
.footer-meta-v7 nav a { color: rgba(242,249,250,.55); }
.footer-powered-v7 { justify-self: end; display: flex; align-items: center; gap: 12px; text-transform: uppercase; letter-spacing: .08em; }
.footer-powered-v7 img { width: 114px; }

@media (max-width: 1100px) {
    .app-icon-rail-v6 { grid-template-columns: repeat(4,minmax(0,1fr)); }
    .services-entry-v6 .services-overview-v5 > a:nth-child(2),
    .services-entry-v6 .services-overview-v5 > a:nth-child(2):hover { transform: none; }
    .contact-hero-quick-v6 { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .contact-hub-body-v6 { grid-template-columns: 1fr; }
    .contact-map-v6,.contact-map-v6 iframe { min-height: 430px; }
    .footer-opening-v7 { grid-template-columns: 1fr; align-items: start; gap: 60px; }
    .footer-directory-v7 { grid-template-columns: repeat(3,1fr); }
    .footer-location-v7 { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
    .app-focus-card-v6 { height: 690px; min-height: 690px; grid-template-rows: 285px 1fr; }
    .app-focus-visual-v6 { min-height: 0; }
    .app-focus-copy-v6 { justify-content: flex-start; }
    .app-focus-copy-v6 p { -webkit-line-clamp: 3; }
    .app-focus-copy-v6 ul { margin: 20px 0 26px; }
    .app-icon-choice-v6 { flex-basis: 116px; min-height: 112px; }
    .app-icon-choice-v6 img { width: 64px; height: 64px; flex-basis: 64px; }
    .services-entry-v6 { padding: 96px 0 70px; }
    .services-entry-v6 .services-overview-v5 { gap: 18px; }
    .contact-hero-quick-v6 { grid-template-columns: 1fr; }
    .contact-hub-heading-v6 { grid-template-columns: 1fr; }
    .contact-channel-list-v6 { grid-template-columns: 1fr; }
    .contact-channel-list-v6 .contact-channel-address-v7 { grid-column: auto; }
    .contact-channel-list-v6 a { min-height: 154px; }
    .contact-map-v6,.contact-map-v6 iframe { min-height: 390px; }
    .footer-opening-v7 { gap: 48px; }
    .footer-slogan-v7 { width: min(330px,100%); }
    .footer-directory-v7 { grid-template-columns: 1fr 1fr; gap: 44px 28px; }
    .footer-contact-v7 { grid-column: 1 / -1; }
    .footer-location-v7 { grid-template-columns: 1fr; }
    .footer-meta-v7 { grid-template-columns: 1fr; justify-items: start; gap: 18px; padding: 28px 0 8px; }
    .footer-powered-v7 { justify-self: start; }
}

@media (prefers-reduced-motion: reduce) {
    .app-selector-v6.is-entering .app-focus-visual-v6,
    .app-selector-v6.is-entering .app-focus-copy-v6 { animation: none; }
    .service-journey-sculpture-v6 { clip-path: none; }
}

/* ZACCS 3.3.2 — final contrast and detail refinements */
.short-brand img { width: 184px; max-height: 50px; object-fit: contain; }
.service-journey-rail-v6::after { display: none; }
.contact-channel-list-v6 a[href^="mailto:"] strong { font-size: clamp(1rem,1.45vw,1.3rem); }

@media (max-width: 700px) {
    .short-brand img { width: 152px; max-height: 46px; }
}

/* ZACCS 3.4 — editable portfolio system, dimensional pages and footer v8 */
.home-websites-v7 {
    position: relative;
    overflow: hidden;
    background: radial-gradient(circle at 88% 4%,rgba(102,181,192,.16),transparent 28%),#182B35;
    color: white;
}
.home-websites-v7::before { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.025)); }
.home-websites-v7 > .wrap { position: relative; }
.home-websites-heading-v7 h2 { color: white; }
.home-websites-heading-v7 .lead { color: rgba(238,247,249,.66); }
.home-websites-heading-v7 .btn-soft { border-color:rgba(255,255,255,.14); background:rgba(255,255,255,.08); color:white; }
.website-selector-v7 { margin-top: clamp(42px,6vw,78px); }
.website-focus-card-v7 {
    height: 550px;
    min-height: 550px;
    display:grid;
    grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);
    overflow:hidden;
    border-radius:40px;
    background:#F8FAFA;
    color:#20333D;
    box-shadow:0 35px 90px rgba(2,13,20,.26);
    transition:transform .35s ease,box-shadow .35s ease;
}
.website-focus-card-v7:hover { transform:translateY(-6px); box-shadow:0 44px 105px rgba(2,13,20,.34); }
.website-focus-visual-v7 {
    position:relative;
    display:grid;
    place-items:center;
    overflow:hidden;
    padding:clamp(38px,6vw,76px);
    background:radial-gradient(circle at 35% 28%,rgba(102,181,192,.38),transparent 32%),linear-gradient(145deg,#E6EEF0,#CADBDE);
    transition:opacity .28s cubic-bezier(.22,.61,.36,1),transform .38s cubic-bezier(.22,.61,.36,1),filter .32s ease;
}
.website-focus-visual-v7::before { content:""; position:absolute; width:78%; aspect-ratio:1; border:1px solid rgba(72,149,161,.25); border-radius:50%; box-shadow:inset 0 0 60px rgba(255,255,255,.35); }
.website-focus-visual-v7 > span { position:relative; z-index:2; display:grid; place-items:center; width:min(250px,72%); aspect-ratio:1; border-radius:32%; background:rgba(255,255,255,.55); color:#397D88; font:750 clamp(4rem,8vw,7.5rem)/1 Montserrat,sans-serif; letter-spacing:-.07em; box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 25px 60px rgba(36,78,88,.15); backdrop-filter:blur(22px); }
.website-focus-visual-v7 > img { position:relative; z-index:2; display:none; width:min(270px,78%); max-height:270px; object-fit:contain; filter:drop-shadow(0 24px 45px rgba(24,56,66,.18)); }
.website-focus-visual-v7.has-image > img { display:block; }
.website-focus-visual-v7.has-image > span { display:none; }
.website-focus-visual-v7 > em { position:absolute; right:24px; bottom:21px; z-index:3; color:#47717A; font-size:9px; font-style:normal; font-weight:750; letter-spacing:.07em; text-transform:uppercase; }
.website-focus-copy-v7 { display:flex; flex-direction:column; justify-content:center; padding:clamp(46px,7vw,92px); transition:opacity .28s cubic-bezier(.22,.61,.36,1),transform .38s cubic-bezier(.22,.61,.36,1),filter .32s ease; }
.website-focus-copy-v7 > span { color:#377B86; font-size:10px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.website-focus-copy-v7 h3 { margin:14px 0 22px; font-size:clamp(3rem,6.2vw,6.7rem); line-height:.9; }
.website-focus-copy-v7 p { max-width:650px; display:-webkit-box; overflow:hidden; color:#62747C; font-size:clamp(1rem,1.4vw,1.18rem); line-height:1.7; -webkit-box-orient:vertical; -webkit-line-clamp:4; }
.website-focus-copy-v7 ul { display:flex; flex-wrap:wrap; gap:8px; margin:28px 0 40px; padding:0; }
.website-focus-copy-v7 li { list-style:none; padding:8px 12px; border-radius:999px; background:#E3EDEF; color:#346E77; font-size:10px; font-weight:700; }
.website-focus-copy-v7 > strong { color:#213A44; font-size:12px; }
.website-focus-copy-v7 > strong i { margin-left:8px; color:#3B8490; font-style:normal; }
.website-icon-rail-v7 { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:14px; margin-top:22px; }
.website-icon-choice-v7 { min-width:0; min-height:92px; display:flex; align-items:center; gap:12px; padding:14px; border:1px solid rgba(255,255,255,.1); border-radius:22px; background:rgba(255,255,255,.065); color:rgba(255,255,255,.65); cursor:pointer; text-align:left; transition:transform .25s,background .25s,border-color .25s,box-shadow .25s; }
.website-icon-choice-v7:hover,.website-icon-choice-v7.is-active { transform:translateY(-3px); border-color:rgba(102,181,192,.42); background:rgba(255,255,255,.13); box-shadow:0 16px 34px rgba(3,15,22,.18); color:white; }
.website-icon-choice-v7 b,.website-icon-choice-v7 img { width:60px; height:60px; flex:0 0 60px; border-radius:17px; }
.website-icon-choice-v7 b { display:grid; place-items:center; background:linear-gradient(145deg,#F1F7F8,#BFD4D8); color:#3A7D88; font-size:17px; }
.website-icon-choice-v7 img { padding:8px; background:white; object-fit:contain; }
.website-icon-choice-v7 span { min-width:0; overflow:hidden; font-size:10px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.website-selector-v7 .app-selector-actions-v6 .text-link { color:#91D5DD; }
.website-selector-v7.is-leaving .website-focus-visual-v7 { opacity:0; filter:blur(8px); transform:translateX(-24px) scale(.975); }
.website-selector-v7.is-leaving .website-focus-copy-v7 { opacity:0; filter:blur(6px); transform:translateX(28px); }
.website-selector-v7.is-entering .website-focus-visual-v7 { animation:appVisualIn .48s cubic-bezier(.16,1,.3,1) both; }
.website-selector-v7.is-entering .website-focus-copy-v7 { animation:appCopyIn .52s .04s cubic-bezier(.16,1,.3,1) both; }

/* Portfolio page */
.portfolio-hero-v7 { position:relative; min-height:820px; display:flex; align-items:center; overflow:hidden; background:radial-gradient(circle at 83% 32%,rgba(102,181,192,.19),transparent 31%),linear-gradient(145deg,#F9FAFA,#DDE8EA); isolation:isolate; }
.portfolio-hero-v7::after { content:""; position:absolute; z-index:-1; top:8%; right:4%; width:44vw; aspect-ratio:1; border:1px solid rgba(72,149,161,.14); border-radius:50%; }
.portfolio-orbit-v7 { position:absolute; z-index:-1; top:8%; right:max(-70px,2vw); width:clamp(440px,48vw,720px); pointer-events:none; filter:drop-shadow(0 38px 65px rgba(38,86,98,.2)); transform:translate3d(calc(var(--pointer-x,0) * 36px),calc(var(--scroll-progress,0) * -88px + var(--pointer-y,0) * 30px),0) rotate(calc(var(--pointer-x,0) * 3deg + var(--scroll-progress,0) * 2deg)); will-change:transform; }
.portfolio-hero-grid-v7 { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.55fr); align-items:end; gap:clamp(55px,8vw,120px); padding-top:120px; }
.portfolio-hero-copy-v7 { max-width:780px; }
.portfolio-hero-copy-v7 h1 { font-size:clamp(4.1rem,7.4vw,7.8rem); line-height:.89; }
.portfolio-hero-copy-v7 .lead { max-width:670px; }
.portfolio-paths-v7 { align-self:end; display:grid; gap:12px; padding-bottom:8px; }
.portfolio-paths-v7 a { display:grid; grid-template-columns:36px 1fr auto; gap:5px 14px; align-items:center; padding:22px 24px; border:1px solid rgba(40,78,90,.12); border-radius:24px; background:rgba(255,255,255,.62); box-shadow:inset 0 1px 0 rgba(255,255,255,.9); backdrop-filter:blur(20px); transition:transform .25s,background .25s,box-shadow .25s; }
.portfolio-paths-v7 a:hover { transform:translateX(-6px); background:rgba(255,255,255,.9); box-shadow:0 18px 45px rgba(31,65,76,.1); }
.portfolio-paths-v7 span { grid-row:1/3; color:#3A7D87; font-size:9px; font-weight:750; }
.portfolio-paths-v7 strong { font-size:16px; }
.portfolio-paths-v7 small { color:#63767E; font-size:9px; }
.portfolio-paths-v7 i { grid-column:3; grid-row:1/3; color:#3A7D87; font-style:normal; }
.portfolio-websites-v7 { scroll-margin-top:90px; }
.portfolio-apps-v7 { scroll-margin-top:90px; background:linear-gradient(145deg,#F8FAFA,#E7EDEF); }

/* News page dimensional hero */
.news-archive-hero-v7 { position:relative; min-height:720px; align-items:center; padding:150px 0 90px; overflow:hidden; isolation:isolate; }
.news-archive-hero-v7::before { content:""; position:absolute; z-index:-1; right:4%; bottom:8%; width:43vw; aspect-ratio:1; border:1px solid rgba(72,149,161,.13); border-radius:50%; }
.news-archive-hero-grid-v7 { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,780px) 1fr; }
.news-archive-hero-v7 h1 { max-width:760px; font-size:clamp(4rem,7.3vw,7.5rem); }
.news-archive-hero-v7 .lead { max-width:620px; margin-top:26px; }
.news-signal-v7 { position:absolute; z-index:-1; top:2%; right:max(-80px,1vw); width:clamp(430px,47vw,700px); pointer-events:none; filter:drop-shadow(0 38px 70px rgba(36,84,96,.18)); transform:translate3d(calc(var(--pointer-x,0) * 34px),calc(var(--scroll-progress,0) * -82px + var(--pointer-y,0) * 28px),0) rotate(calc(var(--pointer-x,0) * -3deg + var(--scroll-progress,0) * 2.5deg)); will-change:transform; }

/* Project singular fed by Gutenberg */
.project-single-hero-v7 { padding:150px 0 100px; background:radial-gradient(circle at 78% 18%,rgba(102,181,192,.21),transparent 29%),linear-gradient(145deg,#F8FAFA,#E2EAEC); }
.project-single-grid-v7 { display:grid; grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr); align-items:center; gap:clamp(55px,9vw,130px); }
.project-single-visual-v7 { position:relative; min-height:520px; display:grid; place-items:center; overflow:hidden; border-radius:42px; background:radial-gradient(circle at 38% 25%,rgba(102,181,192,.35),transparent 35%),rgba(255,255,255,.6); box-shadow:inset 0 1px 0 white,0 28px 80px rgba(28,62,74,.1); backdrop-filter:blur(22px); }
.project-single-visual-v7 > span { display:grid; place-items:center; width:270px; aspect-ratio:1; border-radius:32%; background:rgba(255,255,255,.58); color:#397D88; font-size:7rem; font-weight:750; letter-spacing:-.07em; }
.project-single-visual-v7 > img { width:72%; max-height:330px; object-fit:contain; filter:drop-shadow(0 25px 45px rgba(27,65,76,.16)); }
.project-single-visual-v7 > em { position:absolute; right:25px; bottom:22px; color:#47717A; font-size:9px; font-style:normal; font-weight:750; text-transform:uppercase; }
.project-single-copy-v7 > span { display:block; margin:30px 0 13px; color:#347984; font-size:10px; font-weight:750; text-transform:uppercase; }
.project-single-copy-v7 h1 { margin:0 0 24px; font-size:clamp(4rem,8vw,8.3rem); line-height:.86; }
.project-single-copy-v7 ul { display:flex; flex-wrap:wrap; gap:8px; margin:30px 0; padding:0; }
.project-single-copy-v7 li { list-style:none; padding:9px 13px; border-radius:999px; background:rgba(72,149,161,.12); color:#326D76; font-size:10px; font-weight:700; }
.project-single-content-v7 { background:#F8F9F9; }
.project-single-content-grid-v7 { display:grid; grid-template-columns:250px minmax(0,760px); justify-content:center; gap:clamp(50px,8vw,110px); }
.project-single-content-grid-v7 aside span { color:#347984; font-size:10px; font-weight:750; text-transform:uppercase; }
.project-single-content-grid-v7 aside p { color:#64747C; font-size:12px; line-height:1.7; }
.gutenberg-content-v7 .wp-block-columns { gap:18px; }
.gutenberg-content-v7 .wp-block-column { padding:24px; border-radius:22px; background:white; }

/* Footer v8: modular, quieter and fully card-based */
.site-footer.site-footer-v8 { margin:0; padding:clamp(72px,8vw,118px) 0 26px; border-radius:0; background:radial-gradient(circle at 88% 0,rgba(72,149,161,.15),transparent 27%),#101A21; color:white; }
.footer-brand-v8 { display:grid; grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr); align-items:center; gap:clamp(65px,9vw,135px); padding-bottom:clamp(58px,7vw,88px); }
.footer-identity-v8 .footer-logo-v8 { width:min(270px,90%); }
.footer-slogan-v8 { width:min(330px,100%); margin:24px 0 18px; }
.footer-identity-v8 p { max-width:450px; margin:0; color:rgba(238,247,249,.62); font-size:12px; line-height:1.7; }
.footer-contact-cards-v8 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.footer-contact-cards-v8 a { position:relative; min-width:0; min-height:174px; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; padding:24px; border:1px solid rgba(255,255,255,.1); border-radius:28px; background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.035)); box-shadow:inset 0 1px 0 rgba(255,255,255,.06); transition:transform .3s,background .3s,border-color .3s,box-shadow .3s; }
.footer-contact-cards-v8 a::before { content:""; position:absolute; inset:auto -35% -75% 25%; height:130%; border-radius:50%; background:rgba(102,181,192,.18); filter:blur(25px); opacity:0; transition:opacity .3s,transform .4s; }
.footer-contact-cards-v8 a:hover { transform:translateY(-6px); border-color:rgba(102,181,192,.36); background:rgba(102,181,192,.09); box-shadow:0 22px 48px rgba(2,12,18,.25); }
.footer-contact-cards-v8 a:hover::before { opacity:1; transform:translateY(-12%); }
.footer-contact-cards-v8 span,.footer-contact-cards-v8 strong,.footer-contact-cards-v8 i { position:relative; z-index:1; }
.footer-contact-cards-v8 span { margin-bottom:9px; color:#7EC9D2; font-size:9px; font-weight:750; text-transform:uppercase; }
.footer-contact-cards-v8 strong { overflow-wrap:anywhere; color:white; font-size:clamp(.95rem,1.35vw,1.18rem); line-height:1.3; }
.footer-contact-cards-v8 i { position:absolute; top:20px; right:21px; color:rgba(255,255,255,.4); font-style:normal; }
.footer-modules-v8 { display:grid; grid-template-columns:.72fr .92fr .78fr 1.8fr; gap:12px; padding:12px 0; border-top:1px solid rgba(255,255,255,.1); border-bottom:1px solid rgba(255,255,255,.1); }
.footer-card-v8,.footer-location-card-v8 { min-width:0; padding:28px; border:1px solid rgba(255,255,255,.08); border-radius:26px; background:rgba(255,255,255,.035); }
.footer-modules-v8 h3 { margin:0 0 24px; color:#78C4CD; font:400 9px/1.4 Audiowide,sans-serif; letter-spacing:.07em; text-transform:uppercase; }
.footer-card-v8 > div { display:flex; flex-direction:column; align-items:flex-start; }
.footer-card-v8 a { width:fit-content; margin:0 0 10px; color:rgba(242,249,250,.68); font-size:11px; transition:color .2s,transform .2s; }
.footer-card-v8 a:hover { color:white; transform:translateX(4px); }
.footer-social-v8 a { width:100%; display:flex; justify-content:space-between; padding:11px 0; border-bottom:1px solid rgba(255,255,255,.08); }
.footer-social-v8 a span { color:#78C4CD; }
.footer-location-card-v8 { display:grid; grid-template-columns:.9fr 1.1fr; gap:24px; }
.footer-location-card-v8 strong { display:block; color:white; font-size:13px; line-height:1.6; }
.footer-location-card-v8 p { margin:16px 0 0; color:rgba(242,249,250,.55); font-size:10px; line-height:1.7; }
.footer-location-card-v8 > div > span { display:flex; flex-wrap:wrap; gap:11px; margin-top:19px; }
.footer-location-card-v8 > div > span a { color:#82CED7; font-size:8px; font-weight:750; text-transform:uppercase; }
.footer-map-v8 { position:relative; min-height:210px; overflow:hidden; border-radius:20px; background:#233640; }
.footer-map-v8 iframe { width:100%; height:100%; min-height:210px; border:0; filter:grayscale(.5) saturate(.55) brightness(.72); pointer-events:none; }
.footer-map-v8 > i { position:absolute; top:12px; right:12px; width:35px; height:35px; display:grid; place-items:center; border-radius:50%; background:rgba(16,26,33,.84); color:#8DD6DE; font-style:normal; }
.footer-bottom-v8 { min-height:82px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:28px; color:rgba(242,249,250,.42); font-size:9px; }
.footer-bottom-v8 nav { display:flex; gap:18px; }
.footer-bottom-v8 nav a { color:rgba(242,249,250,.55); }
.footer-bottom-v8 > div { justify-self:end; display:flex; align-items:center; gap:12px; }
.footer-bottom-v8 small { text-transform:uppercase; letter-spacing:.08em; }
.footer-bottom-v8 img { width:112px; }

@media (max-width:1100px) {
    .website-icon-rail-v7 { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .portfolio-hero-grid-v7 { grid-template-columns:minmax(0,1fr) minmax(260px,.48fr); }
    .portfolio-orbit-v7,.news-signal-v7 { right:-120px; opacity:.78; }
    .footer-brand-v8 { grid-template-columns:1fr; align-items:start; gap:52px; }
    .footer-modules-v8 { grid-template-columns:repeat(3,1fr); }
    .footer-location-card-v8 { grid-column:1/-1; }
}

@media (max-width:700px) {
    .website-focus-card-v7 { height:680px; min-height:680px; grid-template-columns:1fr; grid-template-rows:285px 1fr; border-radius:29px; }
    .website-focus-visual-v7 { padding:38px; }
    .website-focus-visual-v7 > span { width:170px; font-size:4.4rem; }
    .website-focus-visual-v7 > img { width:190px; max-height:175px; }
    .website-focus-copy-v7 { justify-content:flex-start; padding:34px 26px 40px; }
    .website-focus-copy-v7 h3 { font-size:clamp(3rem,14vw,4.6rem); }
    .website-focus-copy-v7 p { -webkit-line-clamp:3; }
    .website-focus-copy-v7 ul { margin:20px 0 26px; }
    .website-icon-rail-v7 { display:flex; overflow-x:auto; padding:4px 2px 18px; scroll-snap-type:x mandatory; }
    .website-icon-choice-v7 { flex:0 0 116px; min-height:112px; flex-direction:column; justify-content:center; text-align:center; scroll-snap-align:start; }
    .website-icon-choice-v7 b,.website-icon-choice-v7 img { width:64px; height:64px; flex-basis:64px; }
    .portfolio-hero-v7 { min-height:820px; align-items:flex-start; padding-top:125px; }
    .portfolio-hero-grid-v7 { grid-template-columns:1fr; gap:42px; padding-top:0; }
    .portfolio-hero-copy-v7 h1 { font-size:clamp(3.6rem,15.5vw,5.5rem); }
    .portfolio-orbit-v7 { top:25%; right:-52%; width:125vw; opacity:.24; }
    .portfolio-paths-v7 { padding-bottom:0; }
    .news-archive-hero-v7 { min-height:690px; align-items:flex-start; padding-top:145px; }
    .news-archive-hero-grid-v7 { grid-template-columns:1fr; }
    .news-archive-hero-v7 h1 { font-size:clamp(3.5rem,15vw,5.2rem); }
    .news-signal-v7 { top:31%; right:-48%; width:120vw; opacity:.25; }
    .project-single-grid-v7,.project-single-content-grid-v7 { grid-template-columns:1fr; }
    .project-single-visual-v7 { min-height:340px; border-radius:30px; }
    .project-single-visual-v7 > span { width:190px; font-size:4.8rem; }
    .footer-brand-v8 { gap:44px; }
    .footer-contact-cards-v8 { grid-template-columns:1fr; }
    .footer-contact-cards-v8 a { min-height:138px; }
    .footer-modules-v8 { grid-template-columns:1fr 1fr; }
    .footer-social-v8 { grid-column:1/-1; }
    .footer-location-card-v8 { grid-template-columns:1fr; }
    .footer-bottom-v8 { grid-template-columns:1fr; justify-items:start; gap:18px; padding:27px 0 8px; }
    .footer-bottom-v8 > div { justify-self:start; }
}

@media (prefers-reduced-motion:reduce) {
    .portfolio-orbit-v7,.news-signal-v7 { transform:none; }
    .website-selector-v7.is-entering .website-focus-visual-v7,.website-selector-v7.is-entering .website-focus-copy-v7 { animation:none; }
}

/* ZACCS 3.5 — fluid services, conversational contact page and social footer */

/* Services: a curved signal that is progressively drawn by scrolling */
.service-catalog-v3 { --service-reveal:.06; }
.service-flow-v9 { position:absolute; z-index:4; top:0; right:clamp(8px,2vw,34px); bottom:0; width:clamp(210px,21vw,340px); pointer-events:none; }
.service-flow-stage-v9 { position:sticky; top:96px; height:calc(100vh - 118px); min-height:590px; overflow:hidden; border-radius:48px; background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.018)); transform:translateZ(0); }
.service-flow-stage-v9::before { content:""; position:absolute; inset:9% 6%; border-radius:50%; background:radial-gradient(circle,rgba(102,181,192,.14),transparent 68%); filter:blur(18px); }
.service-flow-stage-v9 svg { position:absolute; inset:4% 11%; width:78%; height:92%; overflow:visible; }
.service-flow-stage-v9 path { fill:none; vector-effect:non-scaling-stroke; }
.service-flow-ghost-v9 { stroke:rgba(116,179,188,.035); stroke-width:1; }
.service-flow-progress-v9 { stroke:url(#zaccs-service-flow); stroke-width:5; stroke-linecap:round; stroke-dasharray:1000; stroke-dashoffset:calc((1 - var(--service-reveal)) * 1000); filter:drop-shadow(0 0 9px rgba(102,181,192,.65)); transition:stroke-dashoffset .08s linear; }
.service-flow-orb-v9 { position:absolute; z-index:3; top:calc(4% + var(--service-reveal) * 88%); left:50%; width:22px; height:22px; border:5px solid rgba(245,252,252,.88); border-radius:50%; background:#66B5C0; box-shadow:0 0 0 9px rgba(102,181,192,.12),0 0 34px rgba(102,181,192,.8); transform:translate(-50%,-50%); transition:top .08s linear; }
.service-flow-node-v9 { position:absolute; width:15px; height:15px; border:1px solid rgba(72,149,161,.48); border-radius:50%; background:rgba(247,252,252,.82); box-shadow:0 10px 28px rgba(38,92,103,.2); }
.service-flow-node-v9::after { content:""; position:absolute; inset:3px; border-radius:50%; background:#66B5C0; }
.service-flow-node-v9.node-one { top:23%; left:24%; opacity:clamp(0,calc((var(--service-reveal) - .12) * 8),1); }
.service-flow-node-v9.node-two { top:51%; right:23%; opacity:clamp(0,calc((var(--service-reveal) - .4) * 8),1); }
.service-flow-node-v9.node-three { top:78%; left:25%; opacity:clamp(0,calc((var(--service-reveal) - .68) * 8),1); }
.service-flow-core-v9 { position:absolute; z-index:2; top:50%; left:50%; width:126px; height:126px; border:1px solid rgba(101,180,191,.23); border-radius:38%; opacity:clamp(.08,calc((var(--service-reveal) - .1) * 2.4),1); background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.92),rgba(194,224,228,.55) 36%,rgba(72,149,161,.14) 67%,rgba(255,255,255,.05)); box-shadow:inset -16px -18px 35px rgba(47,112,123,.12),0 30px 65px rgba(23,65,76,.2); transform:translate3d(calc(-50% + var(--pointer-x,0) * 18px),calc(-50% + var(--pointer-y,0) * 15px + var(--scroll-progress,0) * -24px),0) rotate(calc(16deg + var(--service-reveal) * 120deg)); will-change:transform,opacity; }
.service-flow-core-v9 b,.service-flow-core-v9 span { position:absolute; border-radius:50%; }
.service-flow-core-v9 b { inset:27px; border:1px solid rgba(54,129,141,.36); }
.service-flow-core-v9 span { inset:45px; background:#65B4BF; box-shadow:0 0 25px rgba(102,181,192,.75); }

/* Contact page v9 */
.contact-hero-v9 { position:relative; min-height:900px; display:flex; align-items:center; overflow:hidden; isolation:isolate; background:radial-gradient(circle at 83% 24%,rgba(102,181,192,.22),transparent 31%),linear-gradient(145deg,#FAFBFB,#E4ECEE); }
.contact-hero-v9::before { content:""; position:absolute; z-index:-1; right:-11vw; bottom:-34vw; width:73vw; aspect-ratio:1; border:1px solid rgba(72,149,161,.15); border-radius:50%; box-shadow:inset 0 0 100px rgba(102,181,192,.08); }
.contact-hero-grid-v9 { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1.3fr) minmax(300px,.55fr); align-items:end; gap:clamp(65px,10vw,150px); padding-top:118px; }
.contact-hero-copy-v9 { max-width:900px; }
.contact-hero-copy-v9 h1 { max-width:900px; margin:18px 0 28px; font-size:clamp(4.7rem,8.7vw,9rem); line-height:.86; letter-spacing:-.07em; }
.contact-hero-copy-v9 h1 span { display:block; color:#438C97; }
.contact-hero-copy-v9 .lead { max-width:700px; }
.contact-hero-copy-v9 .btns { margin-top:38px; }
.contact-hero-object-v9 { position:absolute; z-index:0; top:4%; right:-9%; width:min(700px,52vw); opacity:.7; pointer-events:none; filter:drop-shadow(0 38px 75px rgba(34,83,94,.18)); transform:translate3d(calc(var(--pointer-x,0) * 34px),calc(var(--scroll-progress,0) * -70px + var(--pointer-y,0) * 26px),0) rotate(calc(var(--pointer-x,0) * 2.5deg + var(--scroll-progress,0) * 2deg)); will-change:transform; }
.contact-hero-note-v9 { position:relative; z-index:3; margin-bottom:32px; padding:31px; border:1px solid rgba(255,255,255,.22); border-radius:30px; background:rgba(25,45,55,.88); color:white; box-shadow:0 28px 70px rgba(25,54,66,.2); backdrop-filter:blur(24px); }
.contact-hero-note-v9 > span { display:flex; align-items:center; gap:9px; color:#9CD9E0; font-size:9px; font-weight:750; letter-spacing:.06em; text-transform:uppercase; }
.contact-hero-note-v9 > span i { width:8px; height:8px; border-radius:50%; background:#78D0BA; box-shadow:0 0 0 6px rgba(120,208,186,.11); }
.contact-hero-note-v9 p { margin:25px 0 31px; color:rgba(246,251,252,.72); font-size:14px; line-height:1.7; }
.contact-hero-note-v9 > a { display:flex; justify-content:space-between; align-items:center; gap:16px; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); color:white; font-size:clamp(.98rem,1.35vw,1.15rem); font-weight:700; white-space:nowrap; }
.contact-hero-note-v9 b { color:#83CED7; }
.contact-directory-v9 { background:#F7F9F9; }
.contact-directory-heading-v9 { display:grid; grid-template-columns:1.05fr .75fr; align-items:end; gap:clamp(50px,9vw,130px); margin-bottom:clamp(45px,6vw,78px); }
.contact-directory-heading-v9 h2 { max-width:760px; margin:12px 0 0; font-size:clamp(3.7rem,7vw,7.2rem); line-height:.9; }
.contact-directory-heading-v9 > p { max-width:550px; margin:0; color:#64767E; font-size:clamp(1rem,1.35vw,1.18rem); }
.contact-channels-v9 { display:grid; grid-template-columns:1.35fr .85fr .85fr; grid-template-rows:repeat(2,minmax(190px,auto)); gap:14px; }
.contact-channels-v9 > a,.contact-social-v9 { position:relative; min-width:0; overflow:hidden; padding:30px; border:1px solid rgba(42,82,94,.09); border-radius:30px; background:white; box-shadow:0 24px 65px rgba(24,58,70,.07); transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .3s,border-color .3s; }
.contact-channels-v9 > a { display:flex; flex-direction:column; justify-content:flex-end; }
.contact-channels-v9 > a:hover { transform:translateY(-7px); border-color:rgba(72,149,161,.3); box-shadow:0 32px 78px rgba(24,58,70,.13); }
.contact-channels-v9 small,.contact-social-v9 small { margin-bottom:auto; color:#3F828D; font-size:9px; font-weight:750; letter-spacing:.07em; text-transform:uppercase; }
.contact-channels-v9 strong,.contact-social-v9 strong { display:block; color:#203740; font-size:clamp(1.45rem,2.45vw,2.55rem); line-height:1.05; letter-spacing:-.045em; }
.contact-channels-v9 > a > span { margin-top:12px; color:#74868D; font-size:11px; }
.contact-channels-v9 > a > i { position:absolute; top:25px; right:27px; color:#4A919B; font-style:normal; }
.contact-email-v9 { grid-row:1 / 3; color:white; background:radial-gradient(circle at 80% 10%,rgba(102,181,192,.28),transparent 32%),#192D37 !important; }
.contact-email-v9 small,.contact-email-v9 strong { color:white; }
.contact-email-v9 strong { font-size:clamp(1.35rem,2.65vw,2.8rem); white-space:nowrap; }
.contact-email-v9 > span { color:rgba(255,255,255,.58) !important; }
.contact-social-v9 { grid-column:2 / 4; display:grid; grid-template-columns:1fr 1.25fr; align-items:end; gap:30px; background:linear-gradient(145deg,#EDF4F5,#FFFFFF); }
.contact-social-v9 small { position:absolute; top:30px; left:30px; }
.contact-social-v9 nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.contact-social-v9 nav a { padding:10px 13px; border:1px solid rgba(53,104,115,.13); border-radius:999px; color:#326F79; font-size:10px; font-weight:700; transition:background .2s,color .2s; }
.contact-social-v9 nav a:hover { background:#203740; color:white; }
.contact-location-v9 { display:grid; grid-template-columns:minmax(330px,.72fr) minmax(0,1.28fr); gap:16px; margin-top:clamp(70px,8vw,110px); padding:16px; border-radius:42px; background:#172A34; color:white; box-shadow:0 38px 95px rgba(21,52,64,.16); }
.contact-location-copy-v9 { display:flex; flex-direction:column; justify-content:center; padding:clamp(34px,5vw,68px); }
.contact-location-copy-v9 h2 { margin:18px 0 35px; color:white; font-size:clamp(3rem,5vw,5.5rem); line-height:.92; }
.contact-location-copy-v9 p { color:rgba(246,251,252,.62); font-size:12px; }
.contact-location-copy-v9 p strong { color:white; font-size:15px; line-height:1.6; }
.contact-location-copy-v9 .btns { margin-top:27px; }
.contact-map-v9 { position:relative; min-height:570px; overflow:hidden; border-radius:30px; background:#DCE7E9; }
.contact-map-v9 iframe { width:100%; height:100%; min-height:570px; border:0; filter:saturate(.72) contrast(.93); pointer-events:none; }
.contact-map-v9 > i { position:absolute; top:18px; right:18px; width:48px; height:48px; display:grid; place-items:center; border-radius:50%; background:rgba(23,42,52,.88); color:#9BDEE5; font-style:normal; backdrop-filter:blur(15px); }
.contact-message-v9 { background:linear-gradient(145deg,#ECF2F3,#F9FAFA); }
.contact-message-grid-v9 { display:grid; grid-template-columns:minmax(330px,.72fr) minmax(0,1.28fr); align-items:stretch; gap:16px; }
.contact-invite-v9 { padding:clamp(34px,5vw,68px); border-radius:38px; background:radial-gradient(circle at 82% 4%,rgba(102,181,192,.24),transparent 31%),#1A2E38; color:white; }
.contact-invite-v9 > span { color:#86D0D8; font-size:9px; font-weight:750; letter-spacing:.07em; text-transform:uppercase; }
.contact-invite-v9 h2 { margin:22px 0; color:white; font-size:clamp(3rem,5vw,5.4rem); line-height:.92; }
.contact-invite-v9 > p { color:rgba(245,251,252,.68); font-size:14px; line-height:1.75; }
.contact-invite-v9 > small { display:block; margin:20px 0 44px; color:rgba(245,251,252,.48); line-height:1.7; }
.contact-invite-v9 > div { display:flex; align-items:center; gap:17px; padding:16px 0; border-top:1px solid rgba(255,255,255,.1); color:rgba(255,255,255,.75); font-size:11px; }
.contact-invite-v9 > div b { color:#79C7D0; font-size:9px; }
.contact-form-v9 { display:flex; flex-direction:column; justify-content:center; padding:clamp(34px,5vw,70px); border:1px solid rgba(34,74,87,.08); border-radius:38px; box-shadow:0 30px 78px rgba(25,60,72,.09); }
.contact-form-v9 .form input,.contact-form-v9 .form select,.contact-form-v9 .form textarea { background:#F5F8F8; border:1px solid rgba(44,91,103,.12); border-radius:17px; }
.contact-form-v9 .form textarea { min-height:160px; }

/* Footer v9 */
.site-footer.site-footer-v9 { margin:0; padding:clamp(80px,9vw,132px) 0 26px; border-radius:0; overflow:hidden; background:radial-gradient(circle at 88% 5%,rgba(72,149,161,.2),transparent 25%),radial-gradient(circle at 8% 72%,rgba(102,181,192,.08),transparent 27%),#0E1920; color:white; }
.footer-opening-v9 { display:grid; grid-template-columns:minmax(280px,.82fr) minmax(420px,1.18fr); align-items:end; gap:clamp(70px,11vw,170px); padding-bottom:clamp(55px,7vw,90px); }
.footer-logo-v9 { width:min(280px,90%); }
.footer-slogan-v9 { display:block; width:min(350px,100%); margin:26px 0 18px; }
.footer-identity-v9 p { max-width:480px; margin:0; color:rgba(239,248,249,.6); font-size:12px; line-height:1.75; }
.footer-start-v9 { padding-top:25px; border-top:1px solid rgba(255,255,255,.14); }
.footer-start-v9 > span { color:#82CED7; font-size:9px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.footer-start-v9 p { max-width:650px; margin:18px 0 28px; color:white; font-size:clamp(1.45rem,2.8vw,3rem); font-weight:650; line-height:1.14; letter-spacing:-.045em; }
.footer-start-v9 > a { display:flex; align-items:center; justify-content:space-between; max-width:290px; padding:15px 0; border-bottom:1px solid rgba(129,207,216,.46); color:white; font-size:12px; font-weight:700; }
.footer-start-v9 i { color:#84D0D8; font-style:normal; }
.footer-social-strip-v9 { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,255,255,.12); border-bottom:1px solid rgba(255,255,255,.12); }
.footer-social-strip-v9 a { display:grid; grid-template-columns:34px 1fr auto; align-items:center; gap:15px; min-width:0; padding:24px 22px; border-right:1px solid rgba(255,255,255,.1); transition:background .25s,color .25s; }
.footer-social-strip-v9 a:last-child { border-right:0; }
.footer-social-strip-v9 a:hover { background:rgba(102,181,192,.11); }
.footer-social-strip-v9 span { width:34px; height:34px; display:grid; place-items:center; border:1px solid rgba(137,214,222,.28); border-radius:50%; color:#88D2DA; font-size:8px; font-weight:750; }
.footer-social-strip-v9 strong { overflow:hidden; color:rgba(248,252,252,.82); font-size:11px; text-overflow:ellipsis; }
.footer-social-strip-v9 i { color:rgba(137,214,222,.7); font-style:normal; }
.footer-directory-v9 { display:grid; grid-template-columns:1fr .72fr 1.45fr; gap:14px; padding:14px 0; }
.footer-links-v9,.footer-contact-v9,.footer-place-v9 { min-width:0; padding:31px; border:1px solid rgba(255,255,255,.075); border-radius:28px; background:rgba(255,255,255,.03); }
.footer-links-v9 { display:grid; grid-template-columns:1fr 1fr; gap:34px; }
.footer-directory-v9 h3 { margin:0 0 23px; color:#78C7D0; font:400 9px/1.4 Audiowide,sans-serif; letter-spacing:.07em; text-transform:uppercase; }
.footer-links-v9 nav { display:flex; flex-direction:column; align-items:flex-start; }
.footer-links-v9 a { margin:0 0 10px; color:rgba(242,249,250,.65); font-size:11px; transition:color .2s,transform .2s; }
.footer-links-v9 a:hover { color:white; transform:translateX(4px); }
.footer-contact-v9 { display:flex; flex-direction:column; align-items:flex-start; font-style:normal; }
.footer-contact-v9 a { margin-bottom:13px; color:white; font-size:clamp(.95rem,1.25vw,1.18rem); font-weight:650; }
.footer-contact-v9 .footer-email-v9 { white-space:nowrap; letter-spacing:-.035em; }
.footer-contact-v9 p { margin:auto 0 0; color:rgba(242,249,250,.48); font-size:10px; line-height:1.7; }
.footer-place-v9 { display:grid; grid-template-columns:.72fr 1.28fr; gap:25px; }
.footer-place-v9 strong { color:white; font-size:12px; line-height:1.55; }
.footer-place-v9 p { margin:13px 0 20px; color:rgba(242,249,250,.5); font-size:10px; }
.footer-place-v9 > div > span { display:flex; flex-wrap:wrap; gap:10px; }
.footer-place-v9 > div > span a { color:#82CED7; font-size:8px; font-weight:750; text-transform:uppercase; }
.footer-map-v9 { position:relative; min-height:230px; overflow:hidden; border-radius:21px; background:#253841; }
.footer-map-v9 iframe { width:100%; height:100%; min-height:230px; border:0; filter:grayscale(.45) saturate(.58) brightness(.76); pointer-events:none; }
.footer-map-v9 > i { position:absolute; top:12px; right:12px; width:36px; height:36px; display:grid; place-items:center; border-radius:50%; background:rgba(14,25,32,.86); color:#8DD7DE; font-style:normal; }
.footer-bottom-v9 { min-height:80px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:28px; color:rgba(242,249,250,.4); font-size:9px; }
.footer-bottom-v9 nav { display:flex; gap:18px; }
.footer-bottom-v9 nav a { color:rgba(242,249,250,.55); }
.footer-bottom-v9 > div { justify-self:end; display:flex; align-items:center; gap:12px; }
.footer-bottom-v9 small { text-transform:uppercase; letter-spacing:.08em; }
.footer-bottom-v9 img { width:112px; }

@media (max-width:1100px) {
    .service-flow-v9 { display:none; }
    .service-chapter > .wrap { padding-right:0; }
    .contact-hero-grid-v9 { grid-template-columns:1fr; align-items:start; gap:45px; }
    .contact-hero-note-v9 { max-width:520px; }
    .contact-channels-v9 { grid-template-columns:1fr 1fr; }
    .contact-email-v9 { grid-column:1 / -1; grid-row:auto; min-height:250px; }
    .contact-social-v9 { grid-column:1 / -1; }
    .footer-opening-v9 { grid-template-columns:1fr; align-items:start; gap:60px; }
    .footer-directory-v9 { grid-template-columns:1fr 1fr; }
    .footer-place-v9 { grid-column:1 / -1; }
}

@media (max-width:700px) {
    .contact-hero-v9 { min-height:860px; align-items:flex-start; padding-top:123px; }
    .contact-hero-grid-v9 { padding-top:0; gap:40px; }
    .contact-hero-copy-v9 h1 { font-size:clamp(3.65rem,16.4vw,5.25rem); }
    .contact-hero-copy-v9 .btns { align-items:stretch; flex-direction:column; }
    .contact-hero-copy-v9 .btn { width:100%; }
    .contact-hero-object-v9 { top:20%; right:-56%; width:145vw; opacity:.26; }
    .contact-hero-note-v9 { width:100%; margin:0; padding:25px; border-radius:25px; }
    .contact-hero-note-v9 > a { font-size:1rem; }
    .contact-directory-heading-v9 { grid-template-columns:1fr; align-items:start; gap:25px; }
    .contact-directory-heading-v9 h2 { font-size:clamp(3.3rem,15vw,4.7rem); }
    .contact-channels-v9 { grid-template-columns:1fr; grid-template-rows:auto; }
    .contact-channels-v9 > a,.contact-social-v9 { min-height:180px; padding:25px; border-radius:25px; }
    .contact-email-v9 { grid-column:auto; min-height:230px !important; }
    .contact-email-v9 strong { font-size:clamp(1.08rem,5.25vw,1.3rem); letter-spacing:-.045em; }
    .contact-social-v9 { grid-column:auto; grid-template-columns:1fr; align-items:start; gap:27px; }
    .contact-social-v9 small { position:static; }
    .contact-social-v9 nav { justify-content:flex-start; }
    .contact-location-v9 { grid-template-columns:1fr; padding:10px; border-radius:30px; }
    .contact-location-copy-v9 { padding:34px 24px 39px; }
    .contact-location-copy-v9 h2 { font-size:clamp(3rem,14vw,4.4rem); }
    .contact-map-v9,.contact-map-v9 iframe { min-height:390px; }
    .contact-map-v9 { border-radius:23px; }
    .contact-message-grid-v9 { grid-template-columns:1fr; }
    .contact-invite-v9,.contact-form-v9 { padding:34px 24px; border-radius:29px; }
    .contact-invite-v9 h2 { font-size:clamp(3rem,14vw,4.4rem); }
    .footer-opening-v9 { gap:48px; }
    .footer-start-v9 p { font-size:clamp(1.65rem,8vw,2.35rem); }
    .footer-social-strip-v9 { grid-template-columns:1fr 1fr; }
    .footer-social-strip-v9 a:nth-child(2) { border-right:0; }
    .footer-social-strip-v9 a:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.1); }
    .footer-directory-v9 { grid-template-columns:1fr; }
    .footer-links-v9 { grid-template-columns:1fr 1fr; }
    .footer-place-v9 { grid-column:auto; grid-template-columns:1fr; }
    .footer-contact-v9 .footer-email-v9 { font-size:1rem; }
    .footer-bottom-v9 { grid-template-columns:1fr; justify-items:start; gap:18px; padding:28px 0 8px; }
    .footer-bottom-v9 > div { justify-self:start; }
}

@media (prefers-reduced-motion:reduce) {
    .contact-hero-object-v9,.service-flow-core-v9 { transform:none; }
    .service-flow-progress-v9,.service-flow-orb-v9 { transition:none; }
}

/* ZACCS 3.6 — quieter contact composition and architectural footer */
.contact-hero-v10 { position:relative; min-height:940px; display:flex; align-items:center; overflow:hidden; isolation:isolate; background:radial-gradient(circle at 82% 22%,rgba(102,181,192,.23),transparent 30%),linear-gradient(145deg,#172B35,#203842); color:white; }
.contact-hero-v10::before { content:""; position:absolute; z-index:-1; inset:auto -10vw -44vw auto; width:78vw; aspect-ratio:1; border:1px solid rgba(150,218,225,.13); border-radius:50%; box-shadow:inset 0 0 120px rgba(102,181,192,.06); }
.contact-hero-v10-inner { position:relative; z-index:2; padding-top:115px; }
.contact-hero-v10 h1 { max-width:980px; margin:22px 0 28px; color:white; font-size:clamp(4.6rem,7.7vw,8rem); line-height:.86; letter-spacing:-.07em; }
.contact-hero-v10 h1 span { display:block; color:#88D1D9; }
.contact-hero-v10 .lead { max-width:630px; color:rgba(244,251,252,.66); }
.contact-hero-object-v10 { position:absolute; z-index:0; top:5%; right:-8%; width:min(720px,55vw); opacity:.72; pointer-events:none; filter:drop-shadow(0 42px 80px rgba(2,16,23,.24)); transform:translate3d(calc(var(--pointer-x,0) * 38px),calc(var(--scroll-progress,0) * -78px + var(--pointer-y,0) * 28px),0) rotate(calc(var(--pointer-x,0) * 2.8deg + var(--scroll-progress,0) * 2deg)); will-change:transform; }
.contact-hero-bar-v10 { display:grid; grid-template-columns:1.25fr .8fr .9fr .8fr; margin-top:clamp(64px,8vw,104px); border-top:1px solid rgba(255,255,255,.15); border-bottom:1px solid rgba(255,255,255,.15); }
.contact-hero-bar-v10 a { position:relative; min-width:0; display:flex; flex-direction:column; justify-content:center; min-height:132px; padding:24px 27px; border-right:1px solid rgba(255,255,255,.12); transition:background .25s; }
.contact-hero-bar-v10 a:last-child { border-right:0; }
.contact-hero-bar-v10 a:hover { background:rgba(102,181,192,.11); }
.contact-hero-bar-v10 small { margin-bottom:8px; color:#87CDD5; font-size:8px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.contact-hero-bar-v10 strong { overflow:hidden; color:white; font-size:clamp(.96rem,1.28vw,1.18rem); line-height:1.25; text-overflow:ellipsis; }
.contact-hero-bar-v10 i { position:absolute; top:25px; right:25px; color:#83CDD5; font-style:normal; }
.contact-hero-email-v10 strong { white-space:nowrap; }
.contact-hero-start-v10 { background:rgba(126,201,210,.12); }

.contact-workspace-v10 { background:#F4F7F7; }
.contact-workspace-heading-v10 { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(300px,.55fr); align-items:end; gap:clamp(55px,9vw,130px); margin-bottom:clamp(48px,6vw,78px); }
.contact-workspace-heading-v10 h2 { max-width:850px; margin:13px 0 0; font-size:clamp(3.5rem,6.3vw,6.7rem); line-height:.9; }
.contact-workspace-heading-v10 > p { margin:0; color:#687B83; font-size:clamp(1rem,1.25vw,1.16rem); line-height:1.75; }
.contact-workspace-grid-v10 { display:grid; grid-template-columns:minmax(320px,.67fr) minmax(0,1.33fr); align-items:stretch; gap:14px; }
.contact-sidebar-v10 { display:flex; flex-direction:column; min-width:0; padding:clamp(34px,4vw,54px); border-radius:34px; background:#1A303A; color:white; box-shadow:0 30px 75px rgba(20,51,62,.14); }
.contact-status-v10 { display:flex; align-items:center; gap:11px; color:#91D5DC; font-size:9px; font-weight:750; letter-spacing:.07em; text-transform:uppercase; }
.contact-status-v10 i { width:8px; height:8px; border-radius:50%; background:#79D0B9; box-shadow:0 0 0 6px rgba(121,208,185,.11); }
.contact-sidebar-v10 > p { margin:30px 0 46px; color:rgba(244,250,251,.64); font-size:13px; line-height:1.8; }
.contact-sidebar-links-v10 { margin-top:auto; border-top:1px solid rgba(255,255,255,.12); }
.contact-sidebar-links-v10 > a { position:relative; display:flex; flex-direction:column; padding:22px 0; border-bottom:1px solid rgba(255,255,255,.12); }
.contact-sidebar-links-v10 small { margin-bottom:8px; color:#7CC6CF; font-size:8px; font-weight:750; text-transform:uppercase; }
.contact-sidebar-links-v10 strong { color:white; font-size:clamp(1rem,1.55vw,1.32rem); }
.contact-sidebar-links-v10 i { position:absolute; top:27px; right:0; color:#82CCD4; font-style:normal; }
.contact-sidebar-email-v10 strong { white-space:nowrap; letter-spacing:-.035em; }
.contact-sidebar-social-v10 { display:flex; flex-wrap:wrap; gap:8px; margin-top:30px; }
.contact-sidebar-social-v10 a { padding:9px 11px; border:1px solid rgba(145,213,220,.18); border-radius:999px; color:rgba(244,251,252,.7); font-size:9px; font-weight:650; transition:background .2s,color .2s; }
.contact-sidebar-social-v10 a:hover { background:#78C6CF; color:#10232B; }
.contact-form-v10 { display:flex; flex-direction:column; justify-content:center; min-width:0; padding:clamp(34px,5vw,70px); border:1px solid rgba(35,77,89,.08); border-radius:34px; box-shadow:0 30px 75px rgba(20,51,62,.08); }
.contact-form-v10 .form input,.contact-form-v10 .form select,.contact-form-v10 .form textarea { border:1px solid rgba(42,88,100,.11); border-radius:16px; background:#F6F8F8; }
.contact-form-v10 .form textarea { min-height:160px; }

.contact-location-v10 { padding-top:0; background:#F4F7F7; }
.contact-location-card-v10 { display:grid; grid-template-columns:minmax(340px,.72fr) minmax(0,1.28fr); gap:15px; padding:15px; border:1px solid rgba(37,80,93,.09); border-radius:39px; background:white; box-shadow:0 28px 76px rgba(23,58,69,.08); }
.contact-location-copy-v10 { display:flex; flex-direction:column; justify-content:center; padding:clamp(36px,5vw,68px); }
.contact-location-copy-v10 h2 { margin:18px 0 34px; font-size:clamp(3rem,5.1vw,5.6rem); line-height:.91; }
.contact-location-copy-v10 p { margin:0 0 15px; color:#6A7D84; font-size:12px; }
.contact-location-copy-v10 p strong { color:#213A44; font-size:15px; line-height:1.6; }
.contact-location-copy-v10 .btns { margin-top:25px; }
.contact-map-v10 { position:relative; min-height:560px; overflow:hidden; border-radius:28px; background:#DCE7E9; }
.contact-map-v10 iframe { width:100%; height:100%; min-height:560px; border:0; filter:saturate(.7) contrast(.94); pointer-events:none; }
.contact-map-v10 > i { position:absolute; top:18px; right:18px; width:47px; height:47px; display:grid; place-items:center; border-radius:50%; background:rgba(21,42,51,.88); color:#97DCE3; font-style:normal; }

/* Footer v10: one calm architectural grid */
.site-footer.site-footer-v10 { margin:0; padding:clamp(70px,7vw,105px) 0 25px; border-radius:0; background:radial-gradient(circle at 90% 0,rgba(72,149,161,.16),transparent 24%),#0F1B22; color:white; }
.footer-top-v10 { display:grid; grid-template-columns:minmax(230px,.7fr) minmax(280px,.75fr) minmax(250px,.55fr); align-items:center; gap:clamp(44px,7vw,105px); padding-bottom:clamp(48px,6vw,75px); }
.footer-logo-v10 { width:min(255px,90%); }
.footer-slogan-v10 { display:block; width:min(300px,100%); margin:20px 0 0; }
.footer-top-v10 > p { max-width:430px; margin:0; color:rgba(242,249,250,.59); font-size:12px; line-height:1.75; }
.footer-cta-v10 { position:relative; display:flex; flex-direction:column; padding:23px 48px 23px 0; border-top:1px solid rgba(255,255,255,.14); border-bottom:1px solid rgba(255,255,255,.14); }
.footer-cta-v10 span { margin-bottom:8px; color:#7FCAD3; font-size:8px; font-weight:750; text-transform:uppercase; }
.footer-cta-v10 strong { color:white; font-size:clamp(1.35rem,2vw,1.8rem); }
.footer-cta-v10 i { position:absolute; right:4px; top:50%; color:#84D0D8; font-style:normal; transform:translateY(-50%); }
.footer-main-v10 { display:grid; grid-template-columns:.72fr 1fr 1.25fr 1fr; gap:clamp(30px,5vw,72px); padding:clamp(45px,5vw,68px) 0; border-top:1px solid rgba(255,255,255,.11); border-bottom:1px solid rgba(255,255,255,.11); }
.footer-column-v10 { min-width:0; }
.footer-column-v10 h3 { margin:0 0 24px; color:#7CC8D1; font:400 9px/1.4 Audiowide,sans-serif; letter-spacing:.07em; text-transform:uppercase; }
.footer-column-v10 nav { display:flex; flex-direction:column; align-items:flex-start; }
.footer-column-v10 nav > a,.footer-contact-v10 > a { width:fit-content; margin:0 0 10px; color:rgba(243,250,251,.67); font-size:11px; transition:color .2s,transform .2s; }
.footer-column-v10 nav > a:hover,.footer-contact-v10 > a:hover { color:white; transform:translateX(4px); }
.footer-contact-v10 { display:flex; flex-direction:column; align-items:flex-start; font-style:normal; }
.footer-contact-v10 .footer-email-v10 { color:white; font-size:clamp(.95rem,1.25vw,1.1rem); font-weight:650; white-space:nowrap; letter-spacing:-.035em; }
.footer-contact-v10 p { margin:13px 0 17px; color:rgba(243,250,251,.48); font-size:10px; line-height:1.65; }
.footer-contact-v10 > span { display:flex; flex-wrap:wrap; gap:10px; }
.footer-contact-v10 > span a { color:#80CCD4; font-size:8px; font-weight:750; text-transform:uppercase; }
.footer-social-v10 nav a { width:100%; display:flex; align-items:center; justify-content:space-between; padding:10px 0; border-bottom:1px solid rgba(255,255,255,.085); }
.footer-social-v10 nav i { color:#7ECBD3; font-style:normal; }
.footer-location-v10 { display:grid; grid-template-columns:1fr 270px; align-items:center; gap:35px; padding:20px 0; border-bottom:1px solid rgba(255,255,255,.11); }
.footer-location-v10 > div { display:flex; align-items:center; gap:clamp(25px,4vw,65px); }
.footer-location-v10 span { color:#7ECBD3; font-size:8px; font-weight:750; letter-spacing:.08em; }
.footer-location-v10 p { max-width:520px; margin:0; color:rgba(243,250,251,.5); font-size:10px; }
.footer-map-v10 { position:relative; height:112px; overflow:hidden; border-radius:18px; background:#263941; }
.footer-map-v10 iframe { width:100%; height:100%; border:0; filter:grayscale(.45) saturate(.58) brightness(.76); pointer-events:none; }
.footer-map-v10 > i { position:absolute; top:10px; right:10px; width:32px; height:32px; display:grid; place-items:center; border-radius:50%; background:rgba(15,27,34,.86); color:#8DD7DE; font-style:normal; }
.footer-bottom-v10 { min-height:76px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:28px; color:rgba(242,249,250,.4); font-size:9px; }
.footer-bottom-v10 nav { display:flex; gap:18px; }
.footer-bottom-v10 nav a { color:rgba(242,249,250,.55); }
.footer-bottom-v10 > div { justify-self:end; display:flex; align-items:center; gap:12px; }
.footer-bottom-v10 small { text-transform:uppercase; letter-spacing:.08em; }
.footer-bottom-v10 img { width:108px; }

@media (max-width:1000px) {
    .contact-hero-bar-v10 { grid-template-columns:1fr 1fr; }
    .contact-hero-bar-v10 a:nth-child(2) { border-right:0; }
    .contact-hero-bar-v10 a:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.12); }
    .contact-workspace-heading-v10,.contact-workspace-grid-v10,.contact-location-card-v10 { grid-template-columns:1fr; }
    .contact-sidebar-v10 { min-height:540px; }
    .footer-top-v10 { grid-template-columns:1fr 1fr; align-items:start; }
    .footer-cta-v10 { grid-column:1 / -1; }
    .footer-main-v10 { grid-template-columns:1fr 1fr; }
}

@media (max-width:700px) {
    .contact-hero-v10 { min-height:980px; align-items:flex-start; padding-top:128px; }
    .contact-hero-v10-inner { padding-top:0; }
    .contact-hero-v10 h1 { font-size:clamp(3.55rem,15.8vw,5rem); }
    .contact-hero-object-v10 { top:19%; right:-61%; width:150vw; opacity:.25; }
    .contact-hero-bar-v10 { grid-template-columns:1fr; margin-top:55px; }
    .contact-hero-bar-v10 a { min-height:105px; border-right:0; border-bottom:1px solid rgba(255,255,255,.12); }
    .contact-hero-email-v10 strong { font-size:clamp(1rem,5vw,1.2rem); }
    .contact-workspace-heading-v10 { gap:24px; }
    .contact-workspace-heading-v10 h2 { font-size:clamp(3.25rem,14.5vw,4.6rem); }
    .contact-sidebar-v10 { min-height:500px; padding:30px 24px; border-radius:28px; }
    .contact-sidebar-email-v10 strong { font-size:1.02rem; }
    .contact-form-v10 { padding:32px 23px; border-radius:28px; }
    .contact-location-card-v10 { padding:9px; border-radius:29px; }
    .contact-location-copy-v10 { padding:34px 24px 40px; }
    .contact-location-copy-v10 h2 { font-size:clamp(3rem,13.8vw,4.35rem); }
    .contact-map-v10,.contact-map-v10 iframe { min-height:390px; }
    .contact-map-v10 { border-radius:22px; }
    .footer-top-v10 { grid-template-columns:1fr; gap:35px; }
    .footer-identity-v10 { text-align:center; }
    .footer-logo-v10 { width:min(250px,82%); }
    .footer-slogan-v10 { width:min(280px,92%); margin:20px auto 0; }
    .footer-main-v10 { grid-template-columns:1fr 1fr; gap:42px 25px; }
    .footer-contact-v10,.footer-social-v10 { grid-column:1 / -1; }
    .footer-contact-v10 .footer-email-v10 { font-size:1rem; }
    .footer-location-v10 { grid-template-columns:1fr; gap:20px; padding:28px 0; }
    .footer-location-v10 > div { align-items:flex-start; flex-direction:column; gap:12px; }
    .footer-map-v10 { height:160px; }
    .footer-bottom-v10 { grid-template-columns:1fr; justify-items:start; gap:18px; padding:28px 0 8px; }
    .footer-bottom-v10 > div { justify-self:start; }
}

@media (prefers-reduced-motion:reduce) {
    .contact-hero-object-v10 { transform:none; }
}

/* ZACCS 3.7 — continuous service journey, refined contact experience and editorial footer */
:root { --apple-ease:cubic-bezier(.16,1,.3,1); }

/* A single service thread is progressively drawn from the beginning to the end of the catalogue. */
.service-catalog-v3 { position:relative; isolation:isolate; --service-reveal:.025; }
.service-thread-v11 { position:absolute; z-index:5; top:0; right:max(20px,calc((100vw - 1500px) / 2)); bottom:0; width:clamp(190px,18vw,280px); overflow:hidden; pointer-events:none; filter:drop-shadow(0 18px 38px rgba(45,112,124,.12)); }
.service-thread-v11::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 52% calc(var(--service-reveal) * 100%),rgba(102,181,192,.17),transparent 9%); }
.service-thread-v11 svg { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.service-thread-v11 path { fill:none; vector-effect:non-scaling-stroke; }
.service-thread-ghost-v11 { stroke:rgba(57,111,122,.085); stroke-width:1.4; stroke-dasharray:2 8; }
.service-thread-progress-v11 { stroke:url(#zaccs-service-thread); stroke-width:4.5; stroke-linecap:round; stroke-dasharray:none; stroke-dashoffset:0; clip-path:inset(0 0 var(--service-clip,97.5%) 0); filter:drop-shadow(0 0 8px rgba(102,181,192,.62)); }
.service-thread-cap-v11 { position:absolute; z-index:2; top:calc(var(--service-reveal) * 100%); left:50%; width:19px; height:19px; border:5px solid rgba(251,254,254,.92); border-radius:50%; background:#65B6C1; box-shadow:0 0 0 9px rgba(102,181,192,.12),0 0 30px rgba(72,149,161,.7); transform:translate(-50%,-50%); }
.service-thread-node-v11 { position:absolute; z-index:1; left:50%; width:13px; height:13px; border:3px solid rgba(246,251,252,.9); border-radius:50%; background:#5FADB8; box-shadow:0 8px 24px rgba(42,103,114,.2); transform:translate(-50%,-50%) scale(.7); opacity:.22; transition:opacity .45s var(--apple-ease),transform .55s var(--apple-ease); }
.service-thread-node-v11.node-one { top:17%; opacity:clamp(.22,calc((var(--service-reveal) - .1) * 8),1); transform:translate(-50%,-50%) scale(clamp(.7,calc((var(--service-reveal) - .1) * 5),1)); }
.service-thread-node-v11.node-two { top:50%; opacity:clamp(.22,calc((var(--service-reveal) - .43) * 8),1); transform:translate(-50%,-50%) scale(clamp(.7,calc((var(--service-reveal) - .43) * 5),1)); }
.service-thread-node-v11.node-three { top:83%; opacity:clamp(.22,calc((var(--service-reveal) - .76) * 8),1); transform:translate(-50%,-50%) scale(clamp(.7,calc((var(--service-reveal) - .76) * 5),1)); }
@media (min-width:1181px) {
    .service-catalog-v3 .service-chapter > .wrap { padding-right:clamp(235px,20vw,330px); }
}

/* Smoother and more legible spatial motion. */
.partner-earth,.partner-rocket,.contact-hero-object-v10,.portfolio-orbit-v7,.news-signal-v7 { backface-visibility:hidden; transform-style:preserve-3d; will-change:transform; }
.partner-earth { transform:translate3d(calc(var(--pointer-x,0) * -62px),calc(var(--scroll-progress,0) * -154px + var(--pointer-y,0) * -42px),0) rotate(calc(var(--scroll-progress,0) * 7deg + var(--pointer-x,0) * -2.4deg)) scale(calc(1 + var(--scroll-progress,0) * .018)); }
.partner-rocket { transform:translate3d(calc(var(--scroll-progress,0) * 86px + var(--pointer-x,0) * 76px),calc(var(--scroll-progress,0) * -205px + var(--pointer-y,0) * 56px),0) rotate(calc(-5deg + var(--pointer-x,0) * 4.6deg + var(--scroll-progress,0) * 4deg)) scale(calc(1 + var(--scroll-progress,0) * .028)); filter:drop-shadow(0 34px 48px rgba(34,85,97,.24)); }

/* Contact: spacious, precise and readable at every width. */
.contact-hero-v10 { min-height:880px; background:radial-gradient(circle at 74% 18%,rgba(115,199,209,.24),transparent 27%),linear-gradient(145deg,#142832 0%,#203C47 58%,#182E37 100%); }
.contact-hero-object-v10 { top:7%; right:2.5%; width:min(650px,47vw); opacity:.82; filter:drop-shadow(0 48px 90px rgba(2,16,23,.3)); transform:translate3d(calc(var(--pointer-x,0) * 58px),calc(var(--scroll-progress,0) * -112px + var(--pointer-y,0) * 43px),0) rotateX(calc(var(--pointer-y,0) * -2.5deg)) rotate(calc(var(--pointer-x,0) * 4.2deg + var(--scroll-progress,0) * 3deg)) scale(calc(1 + var(--pointer-y,0) * .018)); }
.contact-hero-v10-inner { padding-top:100px; }
.contact-hero-v10 .lead { max-width:600px; font-size:clamp(1rem,1.35vw,1.18rem); line-height:1.7; }
.contact-hero-bar-v10 { overflow:hidden; margin-top:clamp(54px,7vw,88px); border:1px solid rgba(255,255,255,.14); border-radius:26px; background:rgba(8,29,37,.32); box-shadow:0 26px 70px rgba(3,18,24,.18); backdrop-filter:blur(24px) saturate(1.15); }
.contact-hero-bar-v10 a { min-height:122px; }
.contact-hero-bar-v10 strong,.contact-sidebar-links-v10 strong,.footer-nowrap-v11 strong { display:block; max-width:100%; overflow:visible; white-space:nowrap; text-overflow:clip; font-variant-numeric:tabular-nums; }
.contact-workspace-v10 { background:linear-gradient(180deg,#F6F8F8 0%,#EDF3F4 100%); }
.contact-workspace-heading-v10 > p { max-width:520px; }
.contact-workspace-grid-v10 { gap:18px; }
.contact-sidebar-v10,.contact-form-v10 { border-radius:30px; }
.contact-sidebar-v10 { background:linear-gradient(150deg,#17303A,#203F49); }
.contact-form-v10 { border-color:rgba(39,81,93,.11); background:rgba(255,255,255,.94); box-shadow:0 32px 86px rgba(24,58,69,.09); }
.contact-form-v10 .form input,.contact-form-v10 .form select,.contact-form-v10 .form textarea { transition:border-color .25s ease,box-shadow .35s var(--apple-ease),background .25s ease; }
.contact-form-v10 .form input:focus,.contact-form-v10 .form select:focus,.contact-form-v10 .form textarea:focus { border-color:rgba(72,149,161,.58); background:white; box-shadow:0 0 0 5px rgba(72,149,161,.09); }
.contact-location-card-v10 { gap:18px; border-radius:34px; box-shadow:0 34px 90px rgba(23,58,69,.09); }
.contact-map-v10 { border-radius:24px; }

/* Footer v11: HL-inspired editorial hierarchy adapted to the ZACCS identity. */
.site-footer.site-footer-v11 { position:relative; overflow:hidden; margin:0; padding:0; border-radius:0; background:radial-gradient(circle at 92% 4%,rgba(72,149,161,.17),transparent 28%),#0D1A20; color:#F4F9FA; }
.site-footer-v11::before { content:""; position:absolute; right:-18vw; top:-24vw; width:54vw; aspect-ratio:1; border:1px solid rgba(127,204,213,.08); border-radius:50%; box-shadow:0 0 0 90px rgba(127,204,213,.018),0 0 0 180px rgba(127,204,213,.012); pointer-events:none; }
.footer-shell-v11 { position:relative; z-index:1; padding-top:clamp(72px,8vw,120px); }
.footer-intro-v11 { display:grid; grid-template-columns:minmax(250px,.68fr) minmax(0,1.32fr); align-items:end; gap:clamp(70px,10vw,155px); padding-bottom:clamp(62px,8vw,105px); }
.footer-brand-v11 { display:flex; flex-direction:column; align-items:flex-start; }
.footer-logo-v11 { display:block; width:min(270px,88%); }
.footer-slogan-v11 { display:block; width:min(320px,100%); margin:24px 0 22px; }
.footer-brand-v11 p { max-width:40ch; margin:0; color:rgba(240,248,249,.54); font-size:12px; line-height:1.75; }
.footer-statement-v11 > span,.footer-label-v11 { display:block; margin-bottom:17px; color:#80CBD4; font:400 9px/1.4 Audiowide,sans-serif; letter-spacing:.07em; text-transform:uppercase; }
.footer-statement-v11 h2 { max-width:11ch; margin:0; color:#F7FBFB; font-family:Montserrat,sans-serif; font-size:clamp(4.2rem,7.4vw,8rem); font-weight:680; letter-spacing:-.075em; line-height:.83; }
.footer-statement-v11 > a { display:flex; width:min(430px,100%); align-items:center; justify-content:space-between; margin-top:35px; padding:18px 2px; border-top:1px solid rgba(255,255,255,.17); border-bottom:1px solid rgba(255,255,255,.17); color:white; font-size:12px; font-weight:700; transition:padding .35s var(--apple-ease),color .25s ease; }
.footer-statement-v11 > a:hover { padding-inline:13px; color:#93D9E0; }
.footer-statement-v11 i,.footer-connect-v11 i,.footer-social-v11 i { color:#82CED6; font-style:normal; }
.footer-directory-v11 { display:grid; grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr); gap:14px; }
.footer-connect-v11,.footer-navigation-v11 { border:1px solid rgba(255,255,255,.1); border-radius:30px; background:rgba(255,255,255,.052); backdrop-filter:blur(18px); }
.footer-connect-v11 { padding:clamp(28px,3.5vw,47px); }
.footer-contact-row-v11 { position:relative; display:grid; grid-template-columns:72px minmax(0,1fr) auto; align-items:center; gap:16px; min-height:78px; border-bottom:1px solid rgba(255,255,255,.11); }
.footer-contact-row-v11 small { color:rgba(244,250,251,.45); font-size:8px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.footer-contact-row-v11 strong { min-width:0; color:white; font-size:clamp(1rem,1.45vw,1.32rem); letter-spacing:-.025em; }
.footer-social-v11 { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:27px; }
.footer-social-v11 a { display:flex; align-items:center; justify-content:space-between; min-height:43px; padding:0 13px; border:1px solid rgba(255,255,255,.105); border-radius:13px; color:rgba(245,251,252,.68); font-size:9px; font-weight:700; transition:background .25s ease,border-color .25s ease,color .25s ease,transform .35s var(--apple-ease); }
.footer-social-v11 a:hover { border-color:rgba(128,203,212,.42); background:rgba(128,203,212,.11); color:white; transform:translateY(-2px); }
.footer-navigation-v11 { display:grid; grid-template-columns:.8fr 1.2fr 1fr; gap:clamp(25px,4vw,60px); padding:clamp(28px,3.5vw,47px); }
.footer-navigation-v11 nav { display:flex; flex-direction:column; align-items:flex-start; }
.footer-navigation-v11 nav a { position:relative; width:fit-content; margin-bottom:11px; color:rgba(245,251,252,.64); font-size:11px; transition:color .22s ease,transform .35s var(--apple-ease); }
.footer-navigation-v11 nav a:hover { color:white; transform:translateX(5px); }
.footer-place-v11 { display:grid; grid-template-columns:minmax(0,1fr) minmax(290px,.47fr); align-items:stretch; gap:14px; margin-top:14px; padding:14px; border:1px solid rgba(255,255,255,.1); border-radius:30px; background:linear-gradient(110deg,rgba(90,167,178,.13),rgba(255,255,255,.045)); }
.footer-place-copy-v11 { display:grid; grid-template-columns:minmax(250px,.75fr) minmax(270px,1fr); align-items:center; gap:clamp(30px,5vw,75px); padding:clamp(24px,3.2vw,42px); }
.footer-place-copy-v11 .footer-label-v11 { grid-column:1/-1; margin:0 0 -17px; }
.footer-place-copy-v11 h3 { margin:0; color:white; font-size:clamp(2.2rem,3.7vw,4.1rem); letter-spacing:-.055em; line-height:.92; }
.footer-place-copy-v11 p { margin:0; color:rgba(244,250,251,.57); font-size:11px; line-height:1.7; }
.footer-place-copy-v11 > div { grid-column:2; display:flex; flex-wrap:wrap; gap:9px 18px; margin-top:-32px; }
.footer-place-copy-v11 > div a { color:#88D2DA; font-size:9px; font-weight:700; text-transform:uppercase; }
.footer-map-v11 { position:relative; min-height:210px; overflow:hidden; border-radius:21px; background:#263A42; }
.footer-map-v11 iframe { width:100%; height:100%; min-height:210px; border:0; filter:grayscale(.35) saturate(.68) brightness(.76); pointer-events:none; }
.footer-map-v11 > i { position:absolute; top:13px; right:13px; width:38px; height:38px; display:grid; place-items:center; border-radius:50%; background:rgba(12,27,33,.9); color:#8BD5DC; font-style:normal; }
.footer-bottom-v11 { min-height:88px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:25px; color:rgba(242,249,250,.36); font-size:8px; letter-spacing:.035em; }
.footer-bottom-v11 > span:nth-child(2) { justify-self:center; text-transform:uppercase; letter-spacing:.1em; }
.footer-bottom-v11 > div { justify-self:end; display:flex; align-items:center; gap:11px; }
.footer-bottom-v11 small { text-transform:uppercase; letter-spacing:.08em; }
.footer-bottom-v11 img { width:105px; }

@media (max-width:1180px) {
    .service-thread-v11 { right:5px; width:145px; opacity:.7; }
    .footer-intro-v11 { grid-template-columns:.72fr 1.28fr; gap:55px; }
    .footer-directory-v11 { grid-template-columns:1fr; }
    .footer-navigation-v11 { grid-template-columns:repeat(3,1fr); }
    .footer-place-copy-v11 { grid-template-columns:1fr; }
    .footer-place-copy-v11 .footer-label-v11,.footer-place-copy-v11 > div { grid-column:1; margin-top:0; }
}

@media (max-width:760px) {
    .service-thread-v11 { z-index:1; right:auto; left:3px; width:42px; opacity:.5; }
    .service-thread-v11::before,.service-thread-node-v11 { display:none; }
    .service-thread-v11 svg { width:115px; left:-36px; }
    .service-thread-cap-v11 { left:21px; width:14px; height:14px; border-width:4px; }
    .service-catalog-v3 .service-chapter > .wrap { padding-left:max(28px,calc((100vw - var(--wrap,1200px)) / 2)); }
    .partner-earth { transform:translate3d(calc(var(--pointer-x,0) * -24px),calc(var(--scroll-progress,0) * -85px + var(--pointer-y,0) * -20px),0) rotate(calc(var(--scroll-progress,0) * 4deg)); }
    .partner-rocket { transform:translate3d(calc(var(--scroll-progress,0) * 42px + var(--pointer-x,0) * 32px),calc(var(--scroll-progress,0) * -118px + var(--pointer-y,0) * 30px),0) rotate(calc(-5deg + var(--pointer-x,0) * 3deg)); }
    .contact-hero-v10 { min-height:930px; padding-top:114px; }
    .contact-hero-v10-inner { padding-top:0; }
    .contact-hero-object-v10 { top:18%; right:-7%; width:108vw; opacity:.34; transform:translate3d(calc(var(--pointer-x,0) * 26px),calc(var(--scroll-progress,0) * -65px + var(--pointer-y,0) * 25px),0) rotate(calc(var(--pointer-x,0) * 3deg)); }
    .contact-hero-bar-v10 { grid-template-columns:1fr; margin-top:47px; border-radius:22px; }
    .contact-hero-bar-v10 a { min-height:96px; padding:20px 22px; border-right:0; }
    .contact-hero-bar-v10 a:not(:last-child) { border-bottom:1px solid rgba(255,255,255,.12); }
    .contact-hero-bar-v10 strong { padding-right:27px; font-size:clamp(.9rem,4.25vw,1.08rem); letter-spacing:-.025em; }
    .contact-workspace-heading-v10 h2 { font-size:clamp(3rem,13.2vw,4.2rem); }
    .contact-sidebar-v10 { min-height:0; padding:31px 23px; }
    .contact-sidebar-links-v10 strong { padding-right:24px; font-size:clamp(.88rem,4.3vw,1.03rem); letter-spacing:-.035em; }
    .contact-form-v10 { padding:31px 22px; }
    .contact-location-copy-v10 { padding:33px 22px 39px; }
    .contact-location-copy-v10 h2 { font-size:clamp(2.8rem,12.4vw,4rem); }
    .footer-shell-v11 { width:calc(100% - 28px); padding-top:68px; }
    .footer-intro-v11 { grid-template-columns:1fr; align-items:start; gap:52px; padding-bottom:56px; }
    .footer-brand-v11 { align-items:center; text-align:center; }
    .footer-logo-v11 { width:min(255px,80%); }
    .footer-slogan-v11 { width:min(285px,92%); }
    .footer-brand-v11 p { max-width:33ch; }
    .footer-statement-v11 h2 { font-size:clamp(3.75rem,17.2vw,5.1rem); }
    .footer-directory-v11 { gap:10px; }
    .footer-connect-v11,.footer-navigation-v11 { border-radius:24px; }
    .footer-connect-v11 { padding:27px 20px; }
    .footer-contact-row-v11 { grid-template-columns:58px minmax(0,1fr) auto; gap:9px; min-height:73px; }
    .footer-contact-row-v11 strong { font-size:clamp(.86rem,4.05vw,1.02rem); letter-spacing:-.04em; }
    .footer-social-v11 { grid-template-columns:1fr 1fr; }
    .footer-navigation-v11 { grid-template-columns:1fr 1fr; gap:36px 20px; padding:29px 22px; }
    .footer-navigation-v11 > div:last-child { grid-column:1/-1; }
    .footer-place-v11 { grid-template-columns:1fr; padding:9px; border-radius:24px; }
    .footer-place-copy-v11 { grid-template-columns:1fr; gap:24px; padding:28px 17px 25px; }
    .footer-place-copy-v11 .footer-label-v11 { margin-bottom:0; }
    .footer-place-copy-v11 h3 { font-size:clamp(2.5rem,11.8vw,3.7rem); }
    .footer-map-v11,.footer-map-v11 iframe { min-height:180px; }
    .footer-bottom-v11 { grid-template-columns:1fr; justify-items:start; gap:16px; padding:27px 2px 28px; }
    .footer-bottom-v11 > span:nth-child(2),.footer-bottom-v11 > div { justify-self:start; }
}

/* Client theme contrast overrides. */
body[class*="project-theme-"] .project-single-copy-v7,
body[class*="project-theme-"] .project-single-copy-v7 h1,
body[class*="project-theme-"] .project-single-copy-v7 .lead,
body[class*="project-theme-"] .project-single-copy-v7 > span,
body[class*="project-theme-"] .project-single-copy-v7 .journal-back,
body[class*="project-theme-"] .project-single-copy-v7 .text-link{color:#FFF!important}
body[class*="project-theme-"] .project-single-copy-v7 .lead{opacity:.86}
body[class*="project-theme-"] .project-single-copy-v7 li{color:#FFF;border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.1)}
body[class*="project-theme-"] .site-header .header-cta{color:#FFF!important}
.project-theme-cilentana .project-single-copy-v7>span,.project-theme-cilentana .project-single-copy-v7 .journal-back{color:#F0C66D!important}
.project-theme-smartlab .project-single-copy-v7>span,.project-theme-smartlab .project-single-copy-v7 .journal-back{color:#FFAA7D!important}
.project-theme-truven .project-single-copy-v7>span,.project-theme-truven .project-single-copy-v7 .journal-back{color:#92E4AF!important}

/* ZACCS 5.0 — growth services, Celory, Preview 48 and client case studies. */
.services-stage-v15{--stage-bg:#DCE8EB;--stage-ink:#16313D;position:relative;min-height:100svh;overflow:hidden;background:var(--stage-bg);color:var(--stage-ink);isolation:isolate}
.services-stage-track-v15{position:absolute;inset:0}
.services-stage-slide-v15{position:absolute;inset:0;display:grid;align-items:center;opacity:0;visibility:hidden;pointer-events:none;transform:scale(1.035);transition:opacity .55s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1),visibility 0s .8s}
.services-stage-slide-v15.is-active{z-index:2;opacity:1;visibility:visible;pointer-events:auto;transform:none;transition-delay:0s}
.services-stage-slide-v15.is-previous{z-index:1;visibility:visible}
.service-slide-cybersecurity{--stage-bg:#17303C;--stage-ink:#F4F7F8;background:radial-gradient(circle at 50% 45%,#294B58 0,#17303C 55%,#10232D 100%)}
.service-slide-sviluppo-digitale{--stage-bg:#D9E0E2;--stage-ink:#172C37;background:linear-gradient(135deg,#EFF3F4,#CDD9DC)}
.service-slide-soluzioni-it{--stage-bg:#ECEBE7;--stage-ink:#203348;background:linear-gradient(145deg,#F7F5F0,#DADDDC)}
.service-slide-marketing-growth{--stage-bg:#DDE9E7;--stage-ink:#173B38;background:radial-gradient(circle at 65% 35%,#F1F7F4,#CFE0DD)}
.service-slide-social-comunicazione{--stage-bg:#E9E4ED;--stage-ink:#342B3D;background:linear-gradient(140deg,#F6F2F8,#DCD3E2)}
.service-slide-consulenza-it{--stage-bg:#DDE4EC;--stage-ink:#203348;background:radial-gradient(circle at 70% 45%,#F5F7FA,#CDD8E4)}
.services-stage-grid-v15{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.88fr);align-items:center;gap:clamp(46px,7vw,130px);padding-top:clamp(120px,12vh,170px);padding-bottom:clamp(130px,14vh,190px)}
.services-stage-copy-v15{max-width:820px}.services-stage-copy-v15>span{display:block;margin-bottom:24px;font:700 12px/1.2 Montserrat,sans-serif;letter-spacing:.18em;text-transform:uppercase;opacity:.62}
.services-stage-copy-v15 h1{margin:0 0 30px;font-size:clamp(58px,8vw,126px);line-height:.88;letter-spacing:-.065em;color:inherit}.services-stage-copy-v15 p{max-width:720px;margin:0 0 34px;font-size:clamp(18px,1.65vw,25px);line-height:1.55;color:inherit;opacity:.78}
.services-stage-focus-v15{position:relative;margin:0;aspect-ratio:1;border-radius:42px;overflow:hidden;box-shadow:0 42px 110px rgba(10,27,35,.22);transform:translateY(20px) scale(.92);opacity:0;transition:transform .8s .08s cubic-bezier(.22,1,.36,1),opacity .5s .08s}
.is-active .services-stage-focus-v15{transform:none;opacity:1}.services-stage-focus-v15 img{width:100%;height:100%;object-fit:cover}
.services-stage-art-v15{position:absolute;inset:0;z-index:1;pointer-events:none}.services-stage-art-v15 i,.services-stage-art-v15 span{position:absolute;border:1px solid currentColor;border-radius:50%;opacity:0;transform:scale(.3);transition:opacity .5s .25s,transform 1s .18s cubic-bezier(.16,1,.3,1)}
.is-active .services-stage-art-v15 i,.is-active .services-stage-art-v15 span{opacity:.16;transform:scale(1)}.services-stage-art-v15 i:nth-child(1){width:42vw;height:42vw;left:-25vw;top:6vh}.services-stage-art-v15 i:nth-child(2){width:28vw;height:28vw;right:-15vw;bottom:2vh;transition-delay:.35s}.services-stage-art-v15 i:nth-child(3){width:12vw;height:12vw;right:8vw;top:12vh;transition-delay:.48s}.services-stage-art-v15 span{width:6vw;height:6vw;left:7vw;bottom:12vh;background:currentColor;filter:blur(2px);transition-delay:.55s}
.services-stage-arrow-v15{position:absolute;z-index:8;top:50%;width:54px;height:54px;border:1px solid currentColor;border-radius:50%;background:rgba(255,255,255,.12);color:inherit;backdrop-filter:blur(12px);font-size:23px;cursor:pointer;transition:transform .25s,background .25s}.services-stage-arrow-v15:hover{transform:translateY(-50%) scale(1.08);background:rgba(255,255,255,.3)}.services-stage-arrow-v15.is-prev{left:24px;transform:translateY(-50%)}.services-stage-arrow-v15.is-next{right:24px;transform:translateY(-50%)}
.services-stage-dots-v15{position:absolute;z-index:8;left:50%;bottom:28px;display:flex;gap:8px;max-width:calc(100% - 160px);transform:translateX(-50%);padding:8px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(18,35,44,.22);backdrop-filter:blur(18px)}.services-stage-dots-v15 button{width:34px;height:8px;padding:0;border:0;border-radius:99px;background:rgba(255,255,255,.42);cursor:pointer;transition:width .35s,background .35s}.services-stage-dots-v15 button[aria-selected=true]{width:72px;background:#fff}.services-stage-dots-v15 span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

.home-preview-cta-v15{position:relative;overflow:hidden;background:#172D3A;color:#F4F7F8}.home-preview-glow-v15{position:absolute;width:70vw;aspect-ratio:1;right:-32vw;top:-32vw;border-radius:50%;background:radial-gradient(circle,#66B5C055,transparent 64%);filter:blur(6px)}
.home-preview-grid-v15{position:relative;display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);align-items:center;gap:clamp(50px,8vw,130px)}.home-preview-copy-v15 h2{max-width:780px;margin:10px 0 24px;font-size:clamp(44px,5.8vw,84px);line-height:.96;letter-spacing:-.055em;color:#fff}.home-preview-copy-v15 .lead{color:#D7E4E7}.home-preview-copy-v15 .editable-section-copy{color:#AFC1C7}.text-link-light{color:#D9EEF1!important}
.home-preview-device-v15{position:relative;min-height:520px;transform:translate3d(calc(var(--pointer-x,0)*18px),calc(var(--pointer-y,0)*15px + var(--scroll-progress,0)*-24px),0);transition:filter .3s;filter:drop-shadow(0 45px 45px rgba(0,0,0,.25))}.home-preview-browser-v15{position:absolute;inset:35px 20px 68px 0;padding:32px;border:1px solid rgba(255,255,255,.28);border-radius:30px;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(220,235,238,.78));color:#17303C;box-shadow:inset 0 1px #fff}.home-preview-browser-v15>i{display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:50%;background:#88A2A9}.home-preview-browser-v15>span{display:block;width:62%;height:13px;margin:55px 0 20px;border-radius:30px;background:#B7CDD2}.home-preview-browser-v15>strong{display:block;max-width:470px;font:700 clamp(30px,3vw,48px)/1 Montserrat,sans-serif;letter-spacing:-.04em}.home-preview-browser-v15>b{display:block;width:105px;height:36px;margin-top:32px;border-radius:99px;background:#4895A1}.home-preview-phone-v15{position:absolute;right:0;bottom:5px;width:154px;height:310px;padding:20px;border:8px solid #F7FAFA;border-radius:36px;background:#DCE9EB;box-shadow:0 28px 55px rgba(0,0,0,.3)}.home-preview-phone-v15 span,.home-preview-phone-v15 i{display:block;border-radius:14px;background:#8EBBC2}.home-preview-phone-v15 span{height:92px}.home-preview-phone-v15 i{height:52px;margin-top:14px;background:#fff}
.home-roadmap-v15{background:#F7F9F9}.home-roadmap-heading-v15{align-items:end}.home-roadmap-heading-v15 h2{max-width:900px}.home-roadmap-track-v15{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:55px}.home-roadmap-track-v15::before{content:"";position:absolute;left:7%;right:7%;top:35px;height:2px;background:linear-gradient(90deg,#4895A1,#66B5C0,#A7D3D8)}.home-roadmap-track-v15 article{position:relative;padding:0 22px 30px}.home-roadmap-track-v15 article>span{position:relative;z-index:1;display:grid;place-items:center;width:70px;height:70px;margin-bottom:35px;border-radius:50%;background:#203348;color:#fff;font:700 13px Montserrat,sans-serif;box-shadow:0 0 0 10px #F7F9F9}.home-roadmap-track-v15 h3{margin:0 0 12px;font-size:21px;color:#203348}.home-roadmap-track-v15 p{margin:0;color:#627580;line-height:1.65}

.home-celory-v15{position:relative;overflow:hidden;background:#1D1D1F;color:#fff}.home-celory-burst-v15,.celory-burst-v15{position:absolute;inset:0;background:radial-gradient(circle at calc(50% + var(--pointer-x,0)*7%) calc(50% + var(--pointer-y,0)*7%),#6865E870 0,#5653D633 25%,transparent 58%);transform:scale(1.15);transition:background-position .2s}.home-celory-grid-v15{position:relative;display:grid;grid-template-columns:.82fr 1.18fr;align-items:center;gap:8vw}.home-celory-logo-v15,.celory-logo-v15{width:clamp(74px,8vw,118px);height:auto;border-radius:25%;box-shadow:0 22px 60px #5653D655}.home-celory-copy-v15 h2{margin:28px 0 22px;font-size:clamp(45px,6vw,86px);line-height:.94;letter-spacing:-.06em;color:#fff}.home-celory-copy-v15 .lead{color:#C7C7CE}.home-celory-dashboard-v15{min-height:520px;display:grid;place-items:center;transform:translate3d(calc(var(--pointer-x,0)*20px),calc(var(--pointer-y,0)*16px + var(--scroll-progress,0)*-26px),0)}.home-celory-dashboard-v15>div{width:min(100%,720px);padding:45px;border:1px solid #FFFFFF20;border-radius:34px;background:linear-gradient(145deg,#29292E,#17171A);box-shadow:0 55px 110px #0008,inset 0 1px #fff2}.home-celory-dashboard-v15 span{color:#8B89FF;font:700 12px Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.16em}.home-celory-dashboard-v15 strong{display:block;max-width:550px;margin:20px 0 38px;font-size:clamp(30px,3.6vw,54px);line-height:1.02}.home-celory-dashboard-v15 ul{display:grid;gap:12px;padding:0;list-style:none}.home-celory-dashboard-v15 li{padding:18px 20px;border-radius:16px;background:#FFFFFF09;color:#D6D6DB}.home-celory-dashboard-v15 i{display:inline-block;width:10px;height:10px;margin-right:14px;border-radius:50%;background:#6865E8;box-shadow:0 0 20px #6865E8}

.celory-theme{--cyan:#6865E8;--cyan-light:#8B89FF}.celory-theme .site-header{--header-accent:#6865E8}.celory-theme .site-header.scrolled .nav-wrap,.celory-theme .site-header .nav-wrap{background:rgba(29,29,31,.84);border-color:#FFFFFF22}.celory-theme .main-nav a,.celory-theme .language-switcher summary{color:#F6F6F8}.celory-theme .header-cta{background:#6865E8;color:#fff}.celory-hero-v15{position:relative;min-height:100svh;display:grid;align-items:center;overflow:hidden;background:#0F0F12;color:#fff}.celory-hero-grid-v15{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,.82fr) minmax(540px,1.18fr);gap:7vw;align-items:center;padding-top:150px;padding-bottom:90px}.celory-hero-copy-v15 h1{margin:25px 0;font-size:clamp(58px,7.2vw,110px);line-height:.88;letter-spacing:-.067em;color:#fff}.celory-hero-copy-v15 h1 span{color:#8B89FF}.celory-hero-copy-v15 .lead{max-width:720px;color:#C4C4CB}.celory-btn-v15{background:#6865E8!important;color:#fff!important;box-shadow:0 16px 42px #5653D644}.celory-device-stage-v15{position:relative;min-height:670px;transform:translate3d(calc(var(--pointer-x,0)*22px),calc(var(--pointer-y,0)*18px + var(--scroll-progress,0)*-30px),0)}.celory-device-v15{position:absolute;padding:10px;border:1px solid #FFFFFF25;background:#24242A;box-shadow:0 45px 100px #0009}.celory-device-v15.is-mac{inset:55px 0 100px 20px;border-radius:28px}.celory-device-v15.is-tablet{right:-40px;bottom:25px;width:42%;height:49%;border-radius:28px;transform:rotate(3deg)}.celory-device-v15.is-phone{left:-24px;bottom:0;width:24%;height:42%;border-radius:34px;transform:rotate(-5deg)}.celory-ui-v15{height:100%;padding:clamp(18px,2.5vw,38px);border-radius:20px;background:linear-gradient(145deg,#F9F9FB,#ECECFA);color:#1D1D1F;overflow:hidden}.celory-ui-v15>span{color:#6865E8;font:700 11px Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.14em}.celory-ui-v15>strong{display:block;margin:14px 0 28px;font-size:clamp(20px,2.3vw,36px);line-height:1.05}.celory-ui-v15 ul{padding:0;list-style:none}.celory-ui-v15 li{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid #DADAE5;color:#666673}.celory-chart-v15{display:flex;align-items:end;gap:8%;height:160px;padding:20px;border-radius:20px;background:#fff}.celory-chart-v15 i{flex:1;border-radius:8px 8px 2px 2px;background:linear-gradient(#8B89FF,#5653D6)}.celory-chart-v15 i:nth-child(1){height:34%}.celory-chart-v15 i:nth-child(2){height:58%}.celory-chart-v15 i:nth-child(3){height:44%}.celory-chart-v15 i:nth-child(4){height:78%}.celory-chart-v15 i:nth-child(5){height:92%}.celory-mini-tasks-v15 i{display:block;height:36px;margin:10px 0;border-radius:10px;background:#fff}.celory-system-v15{background:#F7F7FA}.celory-feature-grid-v15{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.celory-feature-grid-v15 article{padding:32px;border:1px solid #E1E1EA;border-radius:24px;background:#fff}.celory-feature-grid-v15 span{color:#6865E8;font-weight:700}.celory-feature-grid-v15 h3{font-size:21px;color:#1D1D1F}.celory-feature-grid-v15 p{color:#666673;line-height:1.65}.celory-access-v15{background:#1D1D1F;color:#fff}.celory-access-grid-v15{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.celory-access-v15 h2{font-size:clamp(42px,5vw,72px);line-height:.96;color:#fff}.celory-access-v15 p{color:#B7B7C1}.celory-signup-v15{padding:35px;border:1px solid #FFFFFF22;border-radius:28px;background:#FFFFFF09}.celory-signup-v15 label>span{display:block;margin-bottom:9px}.celory-signup-v15 input[type=email]{width:100%;height:58px;padding:0 18px;border:1px solid #FFFFFF28;border-radius:14px;background:#FFFFFF0B;color:#fff}.celory-signup-v15 .check{display:flex;margin:20px 0;color:#B7B7C1;font-size:13px;line-height:1.5}.celory-signup-v15 .check span{margin:0}.celory-signup-v15 .notice{color:#B8F4CC}

.preview48-theme{--cyan:#4EA6B2}.preview-hero-v15{min-height:92svh;display:grid;align-items:center;background:linear-gradient(145deg,#172C38,#244553);color:#fff;overflow:hidden}.preview-hero-grid-v15{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:8vw;padding-top:150px;padding-bottom:90px}.preview-hero-v15 h1{margin:10px 0 28px;font-size:clamp(58px,7.5vw,112px);line-height:.88;letter-spacing:-.065em;color:#fff}.preview-hero-v15 h1 span{color:#7BC5CE}.preview-hero-v15 .lead{color:#D1DFE3}.preview-transform-v15{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:15px;transform:translate3d(calc(var(--pointer-x,0)*18px),calc(var(--pointer-y,0)*14px + var(--scroll-progress,0)*-25px),0)}.preview-window-v15{min-height:390px;padding:25px;border-radius:28px;box-shadow:0 38px 85px #07151D66}.preview-window-v15>span{font:700 11px Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.15em}.preview-window-v15.is-before{background:#E5E2DB;color:#625B50;transform:rotate(-3deg)}.preview-window-v15.is-before i{display:block;height:52px;margin-top:22px;background:#C9C4B8}.preview-window-v15.is-after{background:#F8FBFB;color:#17303C;transform:rotate(2deg)}.preview-window-v15.is-after strong{display:block;margin:42px 0;font-size:32px;line-height:1.05}.preview-window-v15.is-after i{display:inline-block;width:46%;height:110px;margin-right:3%;border-radius:16px;background:#C4DEE2}.preview-arrow-v15{font-size:34px}.preview-explainer-v15{background:#F6F9F9}.preview-explainer-grid-v15{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw}.preview-explainer-v15 h2{font-size:clamp(42px,5vw,72px)}.preview-explainer-cards-v15{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.preview-explainer-cards-v15 article{padding:28px;border:1px solid #D9E4E6;border-radius:22px;background:#fff}.preview-explainer-cards-v15 span{color:#4895A1;font-weight:700}.preview-explainer-cards-v15 h3{font-size:20px}.preview-explainer-cards-v15 p{color:#627580}.preview-boundary-v15{grid-column:2;padding:24px 28px;border-left:3px solid #4895A1;background:#E9F1F2;color:#526B75;line-height:1.65}.preview-request-v15{background:#1A303C;color:#fff}.preview-request-grid-v15{display:grid;grid-template-columns:.68fr 1.32fr;gap:7vw;align-items:start}.preview-request-v15 h2{font-size:clamp(42px,5vw,72px);line-height:.96;color:#fff}.preview-request-v15 aside>p{color:#BDD0D5;line-height:1.75}.preview-request-v15 aside ol{padding:0;list-style:none}.preview-request-v15 aside li{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #FFFFFF18}.preview-request-v15 aside li span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#4895A1;font-size:12px}.preview-form-panel-v15{padding:clamp(24px,4vw,48px);border:1px solid #FFFFFF20;border-radius:30px;background:#F7FAFA;color:#203348;box-shadow:0 45px 95px #08182066}.preview-form-v15 label>span{display:block;margin-bottom:8px;font-size:13px;font-weight:700}.preview-form-v15 input,.preview-form-v15 textarea,.preview-form-v15 select{width:100%;min-height:54px;padding:13px 15px;border:1px solid #D3E0E3;border-radius:13px;background:#fff;color:#203348;font:inherit}.preview-form-v15 textarea{min-height:105px;resize:vertical}.preview-form-v15 .form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.preview-form-v15>label,.preview-form-v15>.form-row{margin-bottom:16px}.preview-form-v15 .check{display:flex;gap:10px;align-items:flex-start;color:#627580;font-size:12px;line-height:1.55}.preview-form-v15 .check input{width:18px;min-height:18px;margin-top:2px}.preview-form-v15 .check>span{font-weight:400}.preview-success-v15{margin-top:24px;padding:20px;border-radius:16px;background:#E0F2E8;color:#24583B}.preview-success-v15 p{margin-bottom:0}

.website-project-media-v12.has-cover{background-image:linear-gradient(180deg,rgba(13,25,31,.12),rgba(13,25,31,.72)),var(--project-cover);background-size:cover;background-position:center}.website-project-media-v12.has-cover img{max-width:68%;max-height:44%;padding:12px;border-radius:14px;background:rgba(255,255,255,.9);object-fit:contain;box-shadow:0 18px 38px #0004}.project-client-logo-v15{position:absolute;left:28px;bottom:28px;display:grid;place-items:center;max-width:48%;max-height:30%;padding:14px 18px;border-radius:18px;background:rgba(255,255,255,.9);box-shadow:0 18px 40px #0003}.project-client-logo-v15 img{max-width:100%;max-height:90px;object-fit:contain}
.project-theme-cilentana{--cyan:#9A6A16;--blue:#541116;--deep:#2B1712}.project-theme-cilentana .site-header .nav-wrap{background:rgba(64,22,17,.88);border-color:#C99A4555}.project-theme-cilentana .header-cta,.project-theme-cilentana .btn{background:#7E111B}.project-theme-cilentana .project-single-hero-v7{background:linear-gradient(135deg,#351A14,#7B4B24)}.project-theme-cilentana .project-single-content-v7{background:#F7F0E4}.project-theme-smartlab{--cyan:#E97842;--blue:#211A17;--deep:#171311}.project-theme-smartlab .site-header .nav-wrap{background:rgba(32,25,22,.9);border-color:#E9784255}.project-theme-smartlab .header-cta,.project-theme-smartlab .btn{background:#E97842}.project-theme-smartlab .project-single-hero-v7{background:radial-gradient(circle at 70% 30%,#7F452D,#211A17 60%)}.project-theme-truven{--cyan:#57B87D;--blue:#174733;--deep:#102D22}.project-theme-truven .site-header .nav-wrap{background:rgba(17,60,42,.9);border-color:#6CD39A55}.project-theme-truven .header-cta,.project-theme-truven .btn{background:#41A66B}.project-theme-truven .project-single-hero-v7{background:linear-gradient(135deg,#0F3022,#286B49)}

@media (max-width:1000px){.services-stage-grid-v15{grid-template-columns:1fr .78fr;gap:35px}.services-stage-focus-v15{border-radius:28px}.services-stage-dots-v15{bottom:20px}.home-preview-grid-v15,.home-celory-grid-v15,.celory-hero-grid-v15,.preview-hero-grid-v15{grid-template-columns:1fr}.home-preview-device-v15,.home-celory-dashboard-v15{min-height:440px}.celory-device-stage-v15{min-height:620px}.preview-explainer-grid-v15,.preview-request-grid-v15{grid-template-columns:1fr}.preview-boundary-v15{grid-column:auto}.celory-feature-grid-v15{grid-template-columns:1fr 1fr}.celory-access-grid-v15{grid-template-columns:1fr}.home-roadmap-track-v15{grid-template-columns:1fr 1fr}.home-roadmap-track-v15::before{display:none}}
@media (max-width:700px){.services-stage-v15{min-height:100svh}.services-stage-grid-v15{grid-template-columns:1fr;align-content:center;padding:120px 58px 130px}.services-stage-copy-v15 h1{font-size:clamp(48px,15vw,72px)}.services-stage-copy-v15 p{font-size:16px}.services-stage-focus-v15{display:none}.services-stage-arrow-v15{width:44px;height:44px}.services-stage-arrow-v15.is-prev{left:8px}.services-stage-arrow-v15.is-next{right:8px}.services-stage-dots-v15{max-width:80%;overflow:hidden}.services-stage-dots-v15 button{width:18px}.services-stage-dots-v15 button[aria-selected=true]{width:42px}.home-preview-grid-v15,.home-celory-grid-v15{gap:30px}.home-preview-device-v15{min-height:360px}.home-preview-browser-v15{inset:20px 25px 60px 0}.home-preview-phone-v15{width:105px;height:230px}.home-roadmap-track-v15,.celory-feature-grid-v15,.preview-explainer-cards-v15{grid-template-columns:1fr}.home-roadmap-track-v15 article{display:grid;grid-template-columns:64px 1fr;gap:16px;padding:0}.home-roadmap-track-v15 article>span{width:56px;height:56px;margin:0}.home-celory-dashboard-v15{min-height:380px}.home-celory-dashboard-v15>div{padding:28px}.celory-hero-grid-v15{padding-top:130px}.celory-device-stage-v15{min-height:500px}.celory-device-v15.is-mac{inset:20px 0 90px}.celory-device-v15.is-tablet{right:0;width:48%}.celory-device-v15.is-phone{left:0;width:30%}.celory-chart-v15{height:100px}.preview-transform-v15{grid-template-columns:1fr}.preview-window-v15{min-height:250px}.preview-window-v15.is-before,.preview-window-v15.is-after{transform:none}.preview-arrow-v15{transform:rotate(90deg);text-align:center}.preview-form-v15 .form-row{grid-template-columns:1fr}.preview-form-panel-v15{padding:20px}.project-client-logo-v15{left:16px;bottom:16px;max-width:65%}}
@media (prefers-reduced-motion:reduce){.services-stage-slide-v15,.services-stage-focus-v15,.services-stage-art-v15 i,.services-stage-art-v15 span{transition:none!important}.celory-device-stage-v15,.preview-transform-v15,.home-preview-device-v15,.home-celory-dashboard-v15{transform:none!important}}

@media (max-width:360px) {
    .contact-hero-bar-v10 strong,.contact-sidebar-links-v10 strong,.footer-contact-row-v11 strong { font-size:.84rem; letter-spacing:-.045em; }
    .footer-contact-row-v11 { grid-template-columns:51px minmax(0,1fr) auto; }
    .footer-connect-v11 { padding-inline:16px; }
    .footer-statement-v11 h2 { font-size:13.6vw; letter-spacing:-.085em; }
}

@media (prefers-reduced-motion:reduce) {
    .service-thread-progress-v11 { stroke-dashoffset:0; }
    .service-thread-cap-v11 { display:none; }
    .partner-earth,.partner-rocket,.contact-hero-object-v10 { transform:none; }
}

/* ZACCS 3.8 — compact contact system, project carousel and scroll-synced service light */
.service-thread-v11 { overflow:visible; filter:none; }
.service-thread-v11::before { display:none; }
.service-thread-aura-v12 { stroke:url(#zaccs-service-thread); stroke-width:24; stroke-linecap:round; opacity:.18; clip-path:inset(0 0 var(--service-clip,97.5%) 0); filter:blur(10px); }
.service-thread-progress-v11 { stroke-width:4; filter:drop-shadow(0 0 5px rgba(102,181,192,.62)); }
.service-thread-cap-v11 { top:var(--service-cap-y,2.5%); left:var(--service-cap-x,50%); width:12px; height:12px; border:3px solid rgba(253,255,255,.95); background:#72C5CF; box-shadow:0 0 0 7px rgba(102,181,192,.12),0 0 17px rgba(72,149,161,.8),0 0 36px rgba(102,181,192,.46); }
.service-thread-cap-v11::after { content:""; position:absolute; inset:-18px; border-radius:50%; background:rgba(102,181,192,.2); filter:blur(9px); }

/* Shared contact card used by the footer and the contact page. */
.contact-channels-card-v12 { min-width:0; padding:clamp(27px,3.3vw,44px); border:1px solid rgba(255,255,255,.11); border-radius:28px; background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.035)); color:white; box-shadow:inset 0 1px 0 rgba(255,255,255,.035); }
.contact-channels-card-heading-v12 { display:flex; align-items:flex-end; justify-content:space-between; gap:25px; padding-bottom:25px; border-bottom:1px solid rgba(255,255,255,.11); }
.contact-channels-card-heading-v12 span { color:#84CDD5; font:400 8px/1.4 Audiowide,sans-serif; letter-spacing:.07em; text-transform:uppercase; }
.contact-channels-card-heading-v12 strong { color:rgba(246,251,252,.66); font-size:11px; font-weight:550; }
.contact-channel-email-v12 { position:relative; display:flex; min-width:0; flex-direction:column; padding:25px 44px 24px 0; border-bottom:1px solid rgba(255,255,255,.11); }
.contact-channel-email-v12 small,.contact-channel-quick-v12 small { margin-bottom:7px; color:rgba(242,249,250,.42); font-size:8px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.contact-channel-email-v12 strong { overflow:hidden; color:white; font-size:clamp(1.15rem,1.9vw,1.7rem); letter-spacing:-.045em; text-overflow:ellipsis; white-space:nowrap; }
.contact-channel-email-v12 > i { position:absolute; top:27px; right:3px; color:#86D0D8; font-style:normal; }
.contact-channel-quick-v12 { display:grid; grid-template-columns:1fr 1fr; gap:9px; padding-top:9px; }
.contact-channel-quick-v12 > a { min-width:0; display:grid; grid-template-columns:43px minmax(0,1fr); grid-template-rows:auto auto; align-items:center; column-gap:12px; padding:13px; border:1px solid rgba(255,255,255,.1); border-radius:16px; background:rgba(255,255,255,.045); transition:background .25s ease,border-color .25s ease,transform .35s var(--apple-ease); }
.contact-channel-quick-v12 > a:hover { border-color:rgba(132,205,213,.4); background:rgba(102,181,192,.12); transform:translateY(-3px); }
.contact-channel-icon-v12 { grid-row:1/3; width:43px; height:43px; display:grid; place-items:center; border-radius:13px; background:rgba(123,199,208,.12); color:#8CD3DA; }
.contact-channel-icon-v12 svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.55; stroke-linecap:round; stroke-linejoin:round; }
.contact-channel-quick-v12 small { align-self:end; margin:0 0 3px; }
.contact-channel-quick-v12 strong { min-width:0; overflow:hidden; color:white; font-size:clamp(.78rem,1.05vw,.96rem); line-height:1.15; text-overflow:ellipsis; white-space:nowrap; }
.contact-channel-quick-v12 > a:first-child { grid-template-columns:38px minmax(0,1fr); column-gap:9px; }
.contact-channel-quick-v12 > a:first-child .contact-channel-icon-v12 { width:38px; height:38px; }
.contact-channel-quick-v12 > a:first-child strong { font-size:clamp(.72rem,.86vw,.86rem); letter-spacing:-.035em; }
.contact-channel-socials-v12 { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:22px; }
.contact-channel-socials-v12 a { display:flex; min-width:0; align-items:center; justify-content:center; gap:8px; min-height:43px; border:1px solid rgba(255,255,255,.1); border-radius:13px; color:rgba(245,251,252,.66); font-size:9px; font-weight:700; transition:background .25s ease,color .25s ease,transform .35s var(--apple-ease); }
.contact-channel-socials-v12 a:hover { background:rgba(255,255,255,.09); color:white; transform:translateY(-2px); }
.contact-channel-socials-v12 svg { width:17px; height:17px; flex:0 0 17px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.contact-channel-socials-v12 svg .fill { fill:currentColor; stroke:none; }

/* Footer v12 */
.site-footer.site-footer-v12 { position:relative; overflow:hidden; margin:0; padding:0; border-radius:0; background:radial-gradient(circle at 92% 0,rgba(72,149,161,.14),transparent 26%),#0D1A20; color:#F4F9FA; }
.footer-shell-v12 { position:relative; z-index:1; padding-top:clamp(65px,7vw,98px); }
.footer-intro-v12 { display:grid; grid-template-columns:minmax(270px,.72fr) minmax(340px,1.28fr); align-items:center; gap:clamp(55px,9vw,140px); padding-bottom:clamp(45px,6vw,72px); }
.footer-brand-v12 { display:flex; flex-direction:column; align-items:flex-start; }
.footer-brand-v12 p { max-width:41ch; margin:0; color:rgba(240,248,249,.54); font-size:12px; line-height:1.75; }
.footer-impact-v12 { position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:12px; padding:clamp(26px,3.5vw,42px); border:1px solid rgba(255,255,255,.12); border-radius:27px; background:linear-gradient(125deg,rgba(108,188,198,.15),rgba(255,255,255,.045)); transition:border-color .3s ease,transform .45s var(--apple-ease),background .3s ease; }
.footer-impact-v12::after { content:""; position:absolute; right:-55px; top:-95px; width:230px; aspect-ratio:1; border:1px solid rgba(137,215,223,.18); border-radius:50%; box-shadow:0 0 0 42px rgba(132,209,218,.025); }
.footer-impact-v12:hover { border-color:rgba(137,215,223,.38); background:linear-gradient(125deg,rgba(108,188,198,.21),rgba(255,255,255,.06)); transform:translateY(-4px); }
.footer-impact-v12 small { grid-column:1/-1; color:#8BD2D9; font:400 8px/1.4 Audiowide,sans-serif; letter-spacing:.07em; text-transform:uppercase; }
.footer-impact-v12 strong { position:relative; z-index:1; color:white; font-size:clamp(2.4rem,4.3vw,4.8rem); font-weight:670; letter-spacing:-.065em; line-height:.9; }
.footer-impact-v12 span { position:relative; z-index:1; padding-bottom:5px; color:rgba(246,251,252,.68); font-size:10px; font-weight:700; white-space:nowrap; }
.footer-impact-v12 i { margin-left:9px; color:#8BD3DB; font-style:normal; }
.footer-directory-v12 { display:grid; grid-template-columns:minmax(390px,.82fr) minmax(0,1.18fr); gap:12px; }
.footer-navigation-v12 { display:grid; grid-template-columns:.8fr 1.2fr 1fr; gap:clamp(25px,4vw,60px); padding:clamp(28px,3.5vw,44px); border:1px solid rgba(255,255,255,.1); border-radius:28px; background:rgba(255,255,255,.045); }
.footer-navigation-v12 nav { display:flex; flex-direction:column; align-items:flex-start; }
.footer-navigation-v12 nav a { width:fit-content; margin-bottom:11px; color:rgba(245,251,252,.64); font-size:11px; transition:color .22s ease,transform .35s var(--apple-ease); }
.footer-navigation-v12 nav a:hover { color:white; transform:translateX(5px); }
.footer-place-v12 { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(260px,.5fr); align-items:stretch; gap:10px; margin-top:12px; padding:10px; border:1px solid rgba(255,255,255,.1); border-radius:27px; background:rgba(255,255,255,.045); }
.footer-place-copy-v12 { display:grid; grid-template-columns:minmax(260px,.9fr) minmax(280px,1.1fr); align-items:center; gap:clamp(28px,4vw,62px); padding:clamp(21px,2.6vw,34px); }
.footer-place-copy-v12 .footer-label-v11 { grid-column:1/-1; margin:0 0 -9px; }
.footer-place-copy-v12 h3 { margin:0; color:white; font-size:clamp(2rem,3.1vw,3.4rem); letter-spacing:-.055em; line-height:.94; }
.footer-place-copy-v12 p { margin:0; color:rgba(244,250,251,.58); font-size:11px; line-height:1.7; }
.footer-place-copy-v12 > div { grid-column:2; display:flex; gap:18px; margin-top:-23px; }
.footer-place-copy-v12 > div a { color:#88D2DA; font-size:9px; font-weight:700; text-transform:uppercase; }
.footer-map-v12 { position:relative; min-height:158px; overflow:hidden; border-radius:19px; background:#DCE7E9; }
.footer-map-v12 iframe { width:100%; height:100%; min-height:158px; border:0; filter:saturate(.92) contrast(.96) brightness(.98); pointer-events:none; }
.footer-map-v12 > i { position:absolute; top:11px; right:11px; width:36px; height:36px; display:grid; place-items:center; border-radius:50%; background:rgba(15,31,38,.86); color:#99DDE3; font-style:normal; }
.footer-bottom-v12 { min-height:80px; display:grid; grid-template-columns:1fr 1fr; align-items:center; color:rgba(242,249,250,.36); font-size:8px; letter-spacing:.035em; }
.footer-bottom-v12 > div { justify-self:end; display:flex; align-items:center; gap:11px; }
.footer-bottom-v12 small { text-transform:uppercase; letter-spacing:.08em; }
.footer-bottom-v12 img { width:105px; }

/* Contact page v12 */
.contact-hero-v10 { min-height:760px; }
.contact-hero-v10::after { content:""; position:absolute; z-index:0; top:10%; right:3%; width:min(590px,44vw); aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,rgba(62,176,204,calc(.12 + var(--pointer-energy,0) * .24)),transparent 67%); filter:blur(calc(14px + var(--pointer-energy,0) * 26px)); transform:translate3d(calc(var(--pointer-x,0) * 23px),calc(var(--pointer-y,0) * 18px),0); pointer-events:none; }
.contact-hero-object-v10 { top:8.2%; right:4%; transform:translate3d(calc(var(--pointer-x,0) * 53px),calc(var(--scroll-progress,0) * -102px + var(--pointer-y,0) * 39px),0) rotateX(calc(var(--pointer-y,0) * -2.2deg)) rotate(calc(var(--pointer-x,0) * 3.8deg + var(--scroll-progress,0) * 2.8deg)) scale(calc(1 + var(--pointer-y,0) * .015)); filter:drop-shadow(0 45px 84px rgba(2,16,23,.29)) drop-shadow(0 0 calc(8px + var(--pointer-energy,0) * 25px) rgb(73 183 207 / calc(.12 + var(--pointer-energy,0) * .4))); }
.contact-hero-scroll-v12 { display:flex; width:fit-content; align-items:center; gap:18px; margin-top:37px; padding:13px 17px; border:1px solid rgba(255,255,255,.15); border-radius:999px; background:rgba(255,255,255,.055); color:white; font-size:10px; font-weight:700; backdrop-filter:blur(14px); }
.contact-hero-scroll-v12 i { color:#8BD3DB; font-style:normal; }
.contact-workspace-grid-v10 { grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr); align-items:start; }
.contact-channels-card-page { min-height:560px; display:flex; flex-direction:column; justify-content:center; background:linear-gradient(150deg,#17313B,#203F49); box-shadow:0 32px 86px rgba(24,58,69,.12); }
.contact-channels-card-page .contact-channel-email-v12 { margin-top:20px; }
.contact-channels-card-page .contact-channel-socials-v12 { margin-top:34px; }
.contact-form-v10 { padding:clamp(30px,3.8vw,50px); }
.contact-form-v10 .form textarea { min-height:125px; }
.contact-location-card-v10 { grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr); padding:11px; border-radius:30px; }
.contact-location-copy-v10 { padding:clamp(30px,4vw,50px); }
.contact-location-copy-v10 h2 { font-size:clamp(2.8rem,4.4vw,4.8rem); }
.contact-map-v10,.contact-map-v10 iframe { min-height:410px; }
.contact-map-v10 iframe { filter:saturate(.92) contrast(.96) brightness(.98); }

/* Continuous, draggable project cards. */
.website-carousel-v12 { margin-top:clamp(40px,5.5vw,70px); }
.website-carousel-toolbar-v12 { display:flex; align-items:center; justify-content:space-between; margin-bottom:17px; }
.website-carousel-toolbar-v12 > span { color:rgba(236,247,249,.52); font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.website-carousel-toolbar-v12 > div { display:flex; gap:8px; }
.website-carousel-toolbar-v12 button { width:45px; height:45px; border:1px solid rgba(255,255,255,.13); border-radius:50%; background:rgba(255,255,255,.07); color:white; cursor:pointer; font-size:16px; transition:background .22s ease,transform .32s var(--apple-ease); }
.website-carousel-toolbar-v12 button:hover { background:#67B6C1; color:#10242C; transform:scale(1.06); }
.website-carousel-viewport-v12 { overflow:hidden; margin-inline:calc((100vw - min(100vw - 40px,1500px)) / -2); padding-inline:max(20px,calc((100vw - 1500px) / 2)); cursor:grab; touch-action:pan-y; }
.website-carousel-viewport-v12.is-dragging { cursor:grabbing; }
.website-carousel-track-v12 { display:flex; width:max-content; gap:14px; transform:translate3d(calc(var(--carousel-x,0) * -1px),0,0); will-change:transform; }
.website-project-card-v12 { width:clamp(300px,32vw,480px); min-height:510px; display:grid; grid-template-rows:285px 1fr; overflow:hidden; border:1px solid rgba(255,255,255,.1); border-radius:29px; background:rgba(255,255,255,.065); color:white; box-shadow:0 25px 65px rgba(2,13,20,.16); transition:border-color .28s ease,background .28s ease,transform .45s var(--apple-ease); }
.website-project-card-v12:hover { border-color:rgba(116,201,211,.4); background:rgba(255,255,255,.105); transform:translateY(-6px); }
.website-project-media-v12 { position:relative; display:grid; place-items:center; overflow:hidden; margin:9px; border-radius:21px; background:linear-gradient(145deg,#EEF5F6,#BFD4D8); }
.website-project-media-v12::before { content:""; position:absolute; width:70%; aspect-ratio:1; border:1px solid rgba(72,149,161,.22); border-radius:50%; box-shadow:0 0 0 45px rgba(255,255,255,.15); }
.website-project-media-v12 img { position:relative; z-index:1; width:58%; max-height:170px; object-fit:contain; filter:drop-shadow(0 20px 34px rgba(25,65,75,.18)); }
.website-project-media-v12 b { position:relative; z-index:1; display:grid; width:145px; aspect-ratio:1; place-items:center; border-radius:30%; background:rgba(255,255,255,.6); color:#3B808A; font-size:3.8rem; letter-spacing:-.07em; box-shadow:0 24px 55px rgba(32,74,85,.14); }
.website-project-media-v12 > span { position:absolute; z-index:2; left:17px; bottom:15px; color:#376F78; font-size:8px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.website-project-media-v12 > i { position:absolute; z-index:2; right:15px; top:14px; width:36px; height:36px; display:grid; place-items:center; border-radius:50%; background:rgba(20,48,58,.9); color:#8FD4DB; font-style:normal; }
.website-project-copy-v12 { display:flex; flex-direction:column; padding:24px 27px 28px; }
.website-project-copy-v12 h3 { margin:0 0 11px; color:white; font-size:clamp(1.75rem,2.7vw,2.7rem); letter-spacing:-.045em; line-height:.98; }
.website-project-copy-v12 p { display:-webkit-box; overflow:hidden; margin:0; color:rgba(239,248,249,.58); font-size:11px; line-height:1.65; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.website-project-copy-v12 ul { display:flex; flex-wrap:wrap; gap:6px; margin:auto 0 0; padding:20px 0 0; }
.website-project-copy-v12 li { list-style:none; padding:7px 10px; border-radius:999px; background:rgba(102,181,192,.13); color:#A8DCE1; font-size:8px; font-weight:700; }
.website-carousel-v12 .app-selector-actions-v6 .text-link { color:#91D5DD; }

@media (max-width:1050px) {
    .footer-intro-v12,.footer-directory-v12 { grid-template-columns:1fr; }
    .footer-intro-v12 { align-items:start; gap:42px; }
    .footer-impact-v12 { width:100%; }
    .footer-navigation-v12 { grid-template-columns:repeat(3,1fr); }
    .footer-place-copy-v12 { grid-template-columns:1fr; }
    .footer-place-copy-v12 .footer-label-v11,.footer-place-copy-v12 > div { grid-column:1; margin-top:0; }
    .contact-workspace-grid-v10 { grid-template-columns:1fr; }
    .contact-channels-card-page { min-height:0; }
}

@media (max-width:700px) {
    .footer-shell-v12 { width:calc(100% - 28px); padding-top:60px; }
    .footer-brand-v12 { align-items:center; text-align:center; }
    .footer-impact-v12 { grid-template-columns:1fr; padding:26px 22px; border-radius:23px; }
    .footer-impact-v12 strong { font-size:clamp(2.65rem,13.8vw,4rem); }
    .footer-impact-v12 span { padding:8px 0 0; }
    .contact-channels-card-v12 { padding:25px 17px; border-radius:23px; }
    .contact-channels-card-heading-v12 { align-items:flex-start; flex-direction:column; gap:8px; }
    .contact-channel-email-v12 strong { font-size:clamp(1rem,5vw,1.3rem); }
    .contact-channel-quick-v12 { grid-template-columns:1fr; }
    .contact-channel-quick-v12 strong { font-size:.92rem; }
    .contact-channel-quick-v12 > a:first-child strong { font-size:.92rem; }
    .contact-channel-socials-v12 { grid-template-columns:1fr 1fr 1fr; }
    .contact-channel-socials-v12 a { gap:0; }
    .contact-channel-socials-v12 span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
    .footer-navigation-v12 { grid-template-columns:1fr 1fr; gap:35px 18px; padding:27px 21px; border-radius:23px; }
    .footer-navigation-v12 > div:last-child { grid-column:1/-1; }
    .footer-place-v12 { grid-template-columns:1fr; padding:8px; border-radius:23px; }
    .footer-place-copy-v12 { gap:19px; padding:26px 17px 22px; }
    .footer-place-copy-v12 h3 { font-size:clamp(2.45rem,11.5vw,3.5rem); }
    .footer-place-copy-v12 > div { flex-wrap:wrap; }
    .footer-map-v12,.footer-map-v12 iframe { min-height:145px; }
    .footer-bottom-v12 { grid-template-columns:1fr; gap:17px; padding:25px 2px 28px; }
    .footer-bottom-v12 > div { justify-self:start; }
    .contact-hero-v10 { min-height:720px; }
    .contact-hero-object-v10 { top:19.5%; right:-3%; width:106vw; }
    .contact-hero-scroll-v12 { margin-top:28px; }
    .contact-location-card-v10 { grid-template-columns:1fr; }
    .contact-map-v10,.contact-map-v10 iframe { min-height:285px; }
    .website-carousel-viewport-v12 { margin-inline:-14px; padding-inline:14px; }
    .website-project-card-v12 { width:82vw; min-height:480px; grid-template-rows:255px 1fr; border-radius:25px; }
}

@media (max-width:360px) {
    .footer-impact-v12 strong { font-size:12.4vw; }
    .contact-channel-email-v12 strong { font-size:.98rem; }
}

@media (prefers-reduced-motion:reduce) {
    .service-thread-aura-v12 { filter:none; opacity:.1; }
    .contact-hero-v10::after { display:none; }
    .website-carousel-track-v12 { transform:none; }
}

/* ZACCS 3.9 — editorial footer, inspired by the HL Fitness hierarchy. */
.site-footer.site-footer-v13 { position:relative; width:100%; overflow:hidden; margin:0; padding:0; border-radius:0; color:#F5F9FA; background:radial-gradient(ellipse at 0 10%,rgba(72,149,161,.2),transparent 58%),radial-gradient(ellipse at 100% 100%,rgba(72,149,161,.09),transparent 45%),#10171C; }
.footer-shell-v13 { width:calc(100% - 80px); max-width:1500px; padding-top:clamp(70px,7.5vw,120px); }
.footer-hero-v13 { display:grid; grid-template-columns:minmax(250px,.8fr) minmax(0,1.35fr); align-items:start; gap:clamp(75px,11vw,180px); padding-bottom:clamp(60px,7vw,105px); border-bottom:1px solid rgba(255,255,255,.13); }
.footer-identity-v13 { max-width:420px; }
.footer-identity-v13 > a { display:block; width:280px; max-width:100%; }
.footer-logo-v13 { display:block; width:100%; height:auto; }
.footer-slogan-v13 { display:block; width:330px; max-width:100%; height:auto; margin:12px 0 28px; }
.footer-identity-v13 p { max-width:36ch; margin:0; padding-top:25px; border-top:1px solid rgba(111,194,205,.5); color:#B9C9CE; font-size:clamp(.94rem,1.25vw,1.12rem); line-height:1.75; }
.footer-manifesto-v13 > span { display:block; margin:7px 0 23px; color:#79C6D0; font:700 10px/1.5 Montserrat,sans-serif; letter-spacing:.16em; text-transform:uppercase; }
.footer-manifesto-v13 h2 { margin:0; color:white; font:700 clamp(3.8rem,6.7vw,7.3rem)/.93 Montserrat,sans-serif; letter-spacing:-.075em; text-transform:uppercase; }
.footer-main-v13 { display:grid; grid-template-columns:minmax(350px,.85fr) minmax(0,1.3fr); gap:clamp(60px,8vw,130px); padding:clamp(55px,6vw,90px) 0; }
.footer-contacts-v13 { min-width:0; }
.footer-kicker-v13,.footer-link-title-v13 { display:block; color:#80CAD3; font:700 12px/1.5 Montserrat,sans-serif; letter-spacing:.09em; text-transform:uppercase; }
.footer-direct-v13 { margin:23px 0 30px; }
.footer-direct-v13 > a,.footer-phone-row-v13 > a:first-child { display:grid; grid-template-columns:48px minmax(0,1fr) auto; align-items:center; gap:17px; min-height:86px; border-bottom:1px solid rgba(255,255,255,.07); color:white; }
.footer-direct-v13 i,.footer-socials-v13 i { display:grid; flex:0 0 auto; width:48px; height:48px; place-items:center; border:1px solid rgba(255,255,255,.14); border-radius:50%; color:#82CBD4; background:rgba(255,255,255,.035); font-style:normal; transition:background .3s ease,border-color .3s ease; }
.footer-direct-v13 svg,.footer-socials-v13 svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.footer-direct-v13 small,.footer-socials-v13 small { display:block; margin-bottom:5px; color:#83CCD4; font:700 9px/1.4 Montserrat,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.footer-direct-v13 strong,.footer-socials-v13 strong { display:block; color:#F3F7F8; font-size:clamp(.97rem,1.3vw,1.2rem); line-height:1.35; letter-spacing:-.035em; white-space:nowrap; }
.footer-direct-v13 b,.footer-socials-v13 b { color:#93B7C0; font-size:15px; font-weight:400; transition:transform .35s var(--apple-ease),color .25s; }
.footer-direct-v13 a:hover i,.footer-socials-v13 a:hover i { border-color:rgba(128,202,211,.5); background:rgba(128,202,211,.12); }
.footer-direct-v13 a:hover b,.footer-socials-v13 a:hover b { color:white; transform:translate(3px,-3px); }
.footer-phone-row-v13 { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; column-gap:15px; border-bottom:1px solid rgba(255,255,255,.07); }
.footer-phone-row-v13 > a:first-child { grid-template-columns:48px minmax(0,1fr); border-bottom:0; }
.footer-phone-row-v13 strong { font-size:clamp(.86rem,1.08vw,1.06rem); }
.footer-whatsapp-v13 { display:flex; align-items:center; gap:8px; min-height:39px; padding:0 12px; border:1px solid rgba(128,202,211,.23); border-radius:999px; background:rgba(128,202,211,.07); color:#96D8DF; font-size:9px; font-weight:650; transition:background .25s ease,border-color .25s ease; }
.footer-whatsapp-v13 svg { width:17px; height:17px; }
.footer-whatsapp-v13:hover { background:rgba(128,202,211,.16); border-color:rgba(128,202,211,.55); }
.footer-socials-v13 { display:flex; flex-direction:column; gap:9px; }
.footer-socials-v13 a { display:grid; grid-template-columns:48px minmax(0,1fr) auto; align-items:center; gap:16px; padding:13px 18px 13px 13px; border:1px solid rgba(255,255,255,.12); border-radius:18px; background:rgba(255,255,255,.05); transition:background .3s ease,border-color .3s ease,transform .4s var(--apple-ease); }
.footer-socials-v13 a:hover { background:rgba(255,255,255,.09); border-color:rgba(128,202,211,.32); transform:translateX(4px); }
.footer-socials-v13 strong { font-size:13px; }
.footer-socials-v13 a:nth-child(2) svg { width:17px; height:17px; fill:currentColor; stroke:none; }
.footer-socials-v13 a:nth-child(3) svg path:last-child { fill:currentColor; stroke:none; }
.footer-location-v13 { display:grid; grid-template-columns:minmax(0,1fr) 122px; gap:20px; align-items:center; margin-top:27px; padding-top:27px; border-top:1px solid rgba(255,255,255,.1); }
.footer-location-v13 .footer-kicker-v13 { font-size:9px; letter-spacing:.08em; }
.footer-location-v13 p { margin:10px 0 14px; color:#AABFC7; font-size:10px; line-height:1.65; }
.footer-location-v13 nav { display:flex; flex-wrap:wrap; gap:7px 14px; }
.footer-location-v13 nav a { color:#94D3DB; font-size:8px; font-weight:650; }
.footer-map-v13 { display:block; width:122px; height:122px; overflow:hidden; border:1px solid rgba(255,255,255,.2); border-radius:19px; background:#E4EBED; }
.footer-map-v13 iframe { display:block; width:100%; height:100%; border:0; filter:saturate(.88); pointer-events:none; }
.footer-links-v13 { display:grid; grid-template-columns:.8fr 1.1fr 1fr; gap:clamp(28px,4vw,64px); align-content:start; }
.footer-link-title-v13 { display:flex; align-items:center; gap:10px; margin-bottom:30px; letter-spacing:.055em; font-size:11px; }
.footer-link-title-v13 i { display:none; }
.footer-links-v13 nav { display:flex; flex-direction:column; align-items:flex-start; gap:15px; }
.footer-links-v13 nav a { max-width:100%; color:#C1CED3; font-size:clamp(.75rem,1.08vw,.98rem); line-height:1.5; transition:color .25s ease,transform .35s var(--apple-ease); }
.footer-links-v13 nav a:hover { color:#8ED3DC; transform:translateX(4px); }
.site-footer .footer-cta-v13 { display:flex; align-items:center; gap:40px; min-height:230px; margin:0; padding:clamp(32px,4.5vw,66px); border-radius:27px; color:#0C252E; background:linear-gradient(115deg,#6ABEC9,#4895A1); box-shadow:inset 0 1px 0 rgba(255,255,255,.2); font-size:inherit; transition:filter .3s ease,transform .45s var(--apple-ease); }
.footer-cta-v13:hover { filter:brightness(1.06); transform:translateY(-3px); }
.footer-cta-v13 > span { min-width:0; flex:1 1 46%; }
.footer-cta-v13 small { display:block; margin-bottom:17px; color:#163C46; font:700 9px/1.5 Montserrat,sans-serif; letter-spacing:.13em; text-transform:uppercase; }
.footer-cta-v13 strong { display:block; color:#102B34; font:700 clamp(2.6rem,4.4vw,4.7rem)/.96 Montserrat,sans-serif; letter-spacing:-.065em; }
.footer-cta-v13 p { flex:0 1 420px; margin:0; color:#163C46; font-size:clamp(.85rem,1.2vw,1.02rem); line-height:1.65; }
.footer-cta-v13 > i { flex:0 0 66px; display:grid; width:66px; height:66px; place-items:center; border-radius:50%; color:white; background:#11252D; font-size:28px; font-style:normal; transition:transform .45s var(--apple-ease); }
.footer-cta-v13:hover > i { transform:rotate(45deg); }
.footer-bottom-v13 { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:35px; padding:35px 0 38px; color:#9DB2BB; font-size:9px; line-height:1.6; }
.footer-bottom-v13 nav { display:flex; gap:20px; }
.footer-bottom-v13 nav a { color:#B2C2C9; }
.footer-bottom-v13 > div { display:flex; align-items:center; gap:12px; }
.footer-bottom-v13 small { color:#98ADB6; font-size:7px; font-weight:650; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; }
.footer-bottom-v13 img { width:112px; height:auto; }
.site-footer-v13 a:focus-visible { outline:2px solid #9EDDE4; outline-offset:5px; }

@media (max-width:1150px) {
    .footer-hero-v13 { grid-template-columns:.75fr 1.25fr; gap:55px; }
    .footer-main-v13 { grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr); gap:45px; }
    .footer-links-v13 { grid-template-columns:1fr 1fr; gap:40px 25px; }
    .footer-links-v13 > div:last-child { grid-column:1/-1; }
    .footer-phone-row-v13 { column-gap:10px; }
    .footer-whatsapp-v13 span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
    .footer-whatsapp-v13 b { display:none; }
    .footer-whatsapp-v13 { width:39px; padding:0; justify-content:center; }
    .site-footer .footer-cta-v13 { gap:25px; }
    .footer-bottom-v13 { grid-template-columns:1fr auto; gap:18px; }
    .footer-bottom-v13 > div { grid-column:2; grid-row:1/3; }
}

@media (max-width:780px) {
    .footer-shell-v13 { width:calc(100% - 40px); padding-top:60px; }
    .footer-hero-v13 { grid-template-columns:1fr; gap:50px; padding-bottom:50px; }
    .footer-identity-v13 { max-width:440px; }
    .footer-identity-v13 > a { width:250px; }
    .footer-slogan-v13 { width:290px; margin-bottom:20px; }
    .footer-manifesto-v13 h2 { font-size:clamp(3rem,9.2vw,5.4rem); }
    .footer-main-v13 { grid-template-columns:1fr; gap:50px; padding:45px 0; }
    .footer-contacts-v13 { max-width:600px; }
    .footer-links-v13 { grid-template-columns:repeat(3,1fr); gap:25px; }
    .footer-links-v13 > div:last-child { grid-column:auto; }
    .footer-links-v13 nav a { font-size:12px; }
    .footer-link-title-v13 { font-size:10px; margin-bottom:22px; }
    .footer-direct-v13 strong { font-size:1.13rem; }
    .footer-phone-row-v13 strong { font-size:1.03rem; }
    .footer-whatsapp-v13 { width:auto; padding:0 13px; gap:9px; }
    .footer-whatsapp-v13 span { position:static; width:auto; height:auto; overflow:visible; clip:auto; }
    .footer-whatsapp-v13 b { display:block; }
    .site-footer .footer-cta-v13 { flex-wrap:wrap; padding:32px; min-height:250px; gap:26px; }
    .footer-cta-v13 > span { flex:1 1 calc(100% - 90px); }
    .footer-cta-v13 p { order:3; flex:1 0 100%; font-size:13px; }
    .footer-cta-v13 > i { flex-basis:55px; width:55px; height:55px; font-size:24px; }
}

@media (max-width:480px) {
    .footer-shell-v13 { width:calc(100% - 36px); }
    .footer-hero-v13 { gap:42px; }
    .footer-manifesto-v13 > span { font-size:8px; letter-spacing:.12em; margin-bottom:17px; }
    .footer-manifesto-v13 h2 { font-size:clamp(2.65rem,11.4vw,3.65rem); letter-spacing:-.07em; }
    .footer-identity-v13 p { font-size:13px; max-width:36ch; }
    .footer-direct-v13 > a,.footer-phone-row-v13 > a:first-child { grid-template-columns:43px minmax(0,1fr) auto; gap:12px; }
    .footer-phone-row-v13 > a:first-child { grid-template-columns:43px minmax(0,1fr); }
    .footer-direct-v13 i { width:43px; height:43px; }
    .footer-direct-v13 strong { font-size:clamp(.99rem,4.55vw,1.15rem); }
    .footer-phone-row-v13 strong { font-size:clamp(.89rem,4vw,1.04rem); }
    .footer-whatsapp-v13 { width:39px; padding:0; }
    .footer-whatsapp-v13 span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
    .footer-whatsapp-v13 b { display:none; }
    .footer-socials-v13 a { border-radius:17px; padding:12px; }
    .footer-location-v13 { grid-template-columns:minmax(0,1fr) 108px; gap:16px; }
    .footer-map-v13 { width:108px; height:116px; border-radius:16px; }
    .footer-links-v13 { grid-template-columns:1fr 1fr; gap:36px 25px; }
    .footer-links-v13 > div:last-child { grid-column:1/-1; }
    .footer-links-v13 > div:last-child nav { flex-direction:row; flex-wrap:wrap; gap:12px 20px; }
    .site-footer .footer-cta-v13 { padding:27px 23px; gap:24px 13px; border-radius:23px; }
    .footer-cta-v13 strong { font-size:2.65rem; }
    .footer-cta-v13 small { max-width:20ch; font-size:8px; margin-bottom:15px; }
    .footer-cta-v13 p { font-size:12px; }
    .footer-cta-v13 > i { flex-basis:48px; width:48px; height:48px; }
    .footer-bottom-v13 { grid-template-columns:1fr; padding:27px 0 32px; gap:20px; }
    .footer-bottom-v13 > div { grid-column:1; grid-row:auto; }
    .footer-bottom-v13 nav { gap:23px; }
}

@media (prefers-reduced-motion:reduce) {
    .footer-cta-v13,.footer-socials-v13 a,.footer-links-v13 nav a,.footer-cta-v13 > i { transition:none; transform:none !important; }
}

/* ZACCS 4.0 — contact-first footer. */
.site-footer.site-footer-v14 { width:100%; overflow:hidden; margin:0; padding:0; border-radius:0; color:#F5F9FA; background:radial-gradient(circle at 0 0,rgba(72,149,161,.16),transparent 35%),#10191E; }
.footer-shell-v14 { width:calc(100% - 80px); max-width:1500px; padding-top:clamp(55px,6vw,90px); }
.footer-brandline-v14 { display:grid; grid-template-columns:240px 300px minmax(250px,1fr); align-items:center; gap:clamp(32px,5vw,76px); padding-bottom:clamp(38px,4.5vw,62px); border-bottom:1px solid rgba(255,255,255,.12); }
.footer-brandline-v14 > a { display:block; width:240px; margin:0; }
.footer-brandline-v14 > a img { display:block; width:100%; height:auto; }
.footer-brandline-v14 > img { display:block; width:300px; max-width:100%; height:auto; }
.footer-brandline-v14 p { max-width:45ch; justify-self:end; margin:0; color:#AFBEC4; font-size:12px; line-height:1.7; }
.footer-contact-layout-v14 { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(280px,.62fr); align-items:stretch; gap:14px; padding:14px 0; }
.footer-contact-area-v14 { min-width:0; padding:clamp(28px,3.5vw,48px); border:1px solid rgba(255,255,255,.1); border-radius:29px; background:rgba(255,255,255,.025); }
.footer-section-heading-v14 { display:grid; grid-template-columns:minmax(240px,.9fr) minmax(260px,1.1fr); align-items:end; gap:30px; margin-bottom:32px; }
.footer-section-heading-v14 > span { grid-column:1/-1; margin-bottom:-15px; color:#84CED7; font:700 9px/1.4 Montserrat,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.footer-section-heading-v14 h2 { margin:0; color:white; font:680 clamp(2.9rem,5.2vw,5.8rem)/.9 Montserrat,sans-serif; letter-spacing:-.065em; }
.footer-section-heading-v14 p { max-width:46ch; margin:0 0 4px; color:#AFC0C6; font-size:12px; line-height:1.7; }
.footer-contact-cards-v14 { display:grid; grid-template-columns:1.35fr 1fr 1fr; gap:10px; }
.site-footer-v14 .footer-contact-card-v14 { position:relative; min-width:0; min-height:178px; display:flex; flex-direction:column; justify-content:space-between; margin:0; padding:23px; overflow:hidden; border:1px solid rgba(255,255,255,.09); border-radius:22px; color:white; transition:transform .42s var(--apple-ease),border-color .3s ease,filter .3s ease; }
.footer-contact-card-v14::after { content:""; position:absolute; right:-52px; top:-62px; width:145px; aspect-ratio:1; border:1px solid rgba(255,255,255,.12); border-radius:50%; box-shadow:0 0 0 28px rgba(255,255,255,.025); }
.footer-contact-card-v14.is-email { background:linear-gradient(145deg,#1B3943,#142930); }
.footer-contact-card-v14.is-phone { background:linear-gradient(145deg,#285662,#1D3E47); }
.footer-contact-card-v14.is-whatsapp { background:linear-gradient(145deg,#4A929B,#36747D); }
.footer-contact-card-v14:hover { z-index:2; transform:translateY(-5px); border-color:rgba(164,226,233,.4); filter:brightness(1.06); }
.footer-contact-card-v14 > i { position:relative; z-index:1; display:grid; width:45px; height:45px; place-items:center; border:1px solid rgba(255,255,255,.17); border-radius:14px; background:rgba(255,255,255,.075); color:#A7E0E6; font-style:normal; }
.footer-contact-card-v14 svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.55; stroke-linecap:round; stroke-linejoin:round; }
.footer-contact-card-v14 > span { position:relative; z-index:1; display:block; min-width:0; margin-top:25px; }
.footer-contact-card-v14 small { display:block; margin-bottom:6px; color:rgba(223,247,249,.68); font-size:8px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.footer-contact-card-v14 strong { display:block; max-width:100%; overflow:hidden; color:white; font-size:clamp(.88rem,1.42vw,1.28rem); line-height:1.25; letter-spacing:-.035em; text-overflow:ellipsis; white-space:nowrap; }
.footer-contact-card-v14 em { display:block; margin-top:7px; color:rgba(235,249,250,.54); font-size:9px; font-style:normal; }
.footer-contact-card-v14 > b { position:absolute; z-index:1; top:24px; right:24px; color:rgba(231,250,252,.74); font-size:15px; font-weight:400; }
.footer-social-cards-v14 { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin-top:10px; }
.site-footer-v14 .footer-social-cards-v14 a { display:grid; grid-template-columns:35px minmax(0,1fr) auto; align-items:center; gap:11px; min-width:0; min-height:58px; margin:0; padding:10px 14px; border:1px solid rgba(255,255,255,.1); border-radius:16px; color:#D4E1E5; background:rgba(255,255,255,.045); font-size:10px; font-weight:650; transition:background .25s ease,transform .35s var(--apple-ease),border-color .25s ease; }
.footer-social-cards-v14 a:hover { background:rgba(102,181,192,.12); border-color:rgba(129,207,216,.3); transform:translateY(-2px); }
.footer-social-cards-v14 svg { width:18px; height:18px; fill:none; stroke:#87CFD7; stroke-width:1.55; stroke-linecap:round; stroke-linejoin:round; }
.footer-social-cards-v14 a:nth-child(2) svg { width:15px; fill:#87CFD7; stroke:none; }
.footer-social-cards-v14 a:nth-child(3) svg path:last-child { fill:#87CFD7; stroke:none; }
.footer-social-cards-v14 b { color:#78BFC8; font-weight:400; }
.footer-map-card-v14 { min-width:0; display:flex; flex-direction:column; padding:9px; border:1px solid rgba(255,255,255,.1); border-radius:29px; background:rgba(255,255,255,.045); }
.site-footer-v14 .footer-map-visual-v14 { position:relative; display:block; min-height:235px; flex:1 1 auto; overflow:hidden; margin:0; border-radius:21px; background:#DCE7E9; }
.footer-map-visual-v14 iframe { display:block; width:100%; height:100%; min-height:235px; border:0; filter:saturate(.9) contrast(.96); pointer-events:none; }
.footer-map-visual-v14 > i { position:absolute; right:12px; top:12px; display:grid; width:38px; height:38px; place-items:center; border-radius:50%; color:white; background:#12242B; font-style:normal; }
.footer-map-copy-v14 { padding:25px 18px 20px; }
.footer-map-copy-v14 > span,.footer-nav-title-v14 { color:#83CDD5; font:700 8px/1.4 Montserrat,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.footer-map-copy-v14 h3 { margin:9px 0 10px; color:white; font:650 clamp(1.65rem,2.7vw,2.7rem)/1 Montserrat,sans-serif; letter-spacing:-.05em; }
.footer-map-copy-v14 p { margin:0; color:#D5E0E4; font-size:11px; line-height:1.65; }
.footer-map-copy-v14 small { display:block; margin:14px 0 18px; color:#90A7B0; font-size:9px; line-height:1.65; }
.footer-map-copy-v14 nav { display:flex; flex-wrap:wrap; gap:8px 14px; }
.site-footer-v14 .footer-map-copy-v14 nav a { display:block; margin:0; color:#8ED4DC; font-size:8px; font-weight:700; }
.footer-navigation-v14 { display:grid; grid-template-columns:1.25fr .7fr 1fr .82fr; gap:clamp(30px,5vw,75px); padding:clamp(38px,4.5vw,62px) clamp(5px,1.4vw,20px); border-top:1px solid rgba(255,255,255,.12); border-bottom:1px solid rgba(255,255,255,.12); }
.footer-nav-cta-v14 { align-self:start; }
.footer-nav-cta-v14 > span { display:block; color:#87CED6; font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.footer-nav-cta-v14 > strong { display:block; max-width:310px; margin:12px 0 24px; color:white; font-size:clamp(1.65rem,2.6vw,2.8rem); line-height:1.02; letter-spacing:-.05em; }
.site-footer-v14 .footer-nav-cta-v14 > a { display:flex; width:fit-content; align-items:center; gap:18px; margin:0; padding:12px 16px; border-radius:999px; color:#10242B; background:#74C2CB; font-size:9px; font-weight:750; }
.footer-nav-title-v14 { display:block; margin-bottom:22px; }
.footer-navigation-v14 nav { display:flex; flex-direction:column; align-items:flex-start; gap:11px; }
.site-footer-v14 .footer-navigation-v14 nav a { display:block; width:fit-content; margin:0; color:#B7C7CD; font-size:11px; transition:color .22s ease,transform .32s var(--apple-ease); }
.footer-navigation-v14 nav a:hover { color:#8ED4DC; transform:translateX(4px); }
.footer-bottom-v14 { min-height:80px; display:flex; align-items:center; justify-content:space-between; gap:28px; color:#8299A2; font-size:8px; }
.footer-bottom-v14 > div { display:flex; align-items:center; gap:11px; }
.footer-bottom-v14 small { font-size:7px; letter-spacing:.08em; text-transform:uppercase; }
.footer-bottom-v14 img { display:block; width:110px; height:auto; }
.site-footer-v14 a:focus-visible { outline:2px solid #9EDDE4; outline-offset:4px; }

@media (max-width:1050px) {
    .footer-brandline-v14 { grid-template-columns:220px minmax(220px,1fr); }
    .footer-brandline-v14 > img { width:270px; justify-self:end; }
    .footer-brandline-v14 p { grid-column:1/-1; justify-self:start; }
    .footer-contact-layout-v14 { grid-template-columns:minmax(0,1.45fr) minmax(250px,.7fr); }
    .footer-contact-cards-v14 { grid-template-columns:1fr 1fr; }
    .footer-contact-card-v14.is-email { grid-column:1/-1; }
    .footer-navigation-v14 { grid-template-columns:1.15fr 1fr 1fr; }
    .footer-nav-cta-v14 { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:30px; padding-bottom:30px; border-bottom:1px solid rgba(255,255,255,.09); }
    .footer-nav-cta-v14 > strong { max-width:none; margin:0 auto 0 0; }
}

@media (max-width:760px) {
    .footer-shell-v14 { width:calc(100% - 30px); padding-top:48px; }
    .footer-brandline-v14 { grid-template-columns:1fr; gap:23px; padding-inline:5px; }
    .footer-brandline-v14 > a { width:230px; }
    .footer-brandline-v14 > img { width:280px; justify-self:start; }
    .footer-brandline-v14 p { max-width:38ch; font-size:11px; }
    .footer-contact-layout-v14 { grid-template-columns:1fr; }
    .footer-contact-area-v14 { padding:25px 15px; border-radius:24px; }
    .footer-section-heading-v14 { grid-template-columns:1fr; gap:16px; }
    .footer-section-heading-v14 > span { grid-column:1; margin-bottom:0; }
    .footer-section-heading-v14 h2 { font-size:clamp(3.3rem,16vw,5rem); }
    .footer-section-heading-v14 p { font-size:11px; }
    .footer-contact-cards-v14 { grid-template-columns:1fr; }
    .footer-contact-card-v14.is-email { grid-column:auto; }
    .site-footer-v14 .footer-contact-card-v14 { min-height:145px; }
    .footer-contact-card-v14 strong { font-size:clamp(1rem,5vw,1.28rem); }
    .footer-social-cards-v14 { grid-template-columns:1fr; }
    .site-footer-v14 .footer-social-cards-v14 a { min-height:55px; }
    .footer-map-card-v14 { display:grid; grid-template-columns:1fr; border-radius:24px; }
    .site-footer-v14 .footer-map-visual-v14,.footer-map-visual-v14 iframe { min-height:210px; }
    .footer-navigation-v14 { grid-template-columns:1fr 1fr; gap:38px 25px; padding-inline:8px; }
    .footer-nav-cta-v14 { grid-column:1/-1; display:grid; grid-template-columns:1fr auto; gap:12px 18px; }
    .footer-nav-cta-v14 > span,.footer-nav-cta-v14 > strong { grid-column:1; }
    .footer-nav-cta-v14 > strong { margin:0; }
    .site-footer-v14 .footer-nav-cta-v14 > a { grid-column:2; grid-row:1/3; align-self:center; }
    .footer-navigation-v14 > div:last-child { grid-column:1/-1; }
    .footer-navigation-v14 > div:last-child nav { flex-direction:row; flex-wrap:wrap; gap:12px 20px; }
    .footer-bottom-v14 { align-items:flex-start; flex-direction:column; padding:26px 5px 32px; }
}

@media (max-width:390px) {
    .footer-brandline-v14 > a { width:215px; }
    .footer-brandline-v14 > img { width:255px; }
    .site-footer-v14 .footer-contact-card-v14 { padding:20px; }
    .footer-contact-card-v14 strong { font-size:clamp(.96rem,4.7vw,1.15rem); }
    .footer-nav-cta-v14 { grid-template-columns:1fr; }
    .site-footer-v14 .footer-nav-cta-v14 > a { grid-column:1; grid-row:auto; margin-top:8px; }
}

@media (prefers-reduced-motion:reduce) {
    .footer-contact-card-v14,.footer-social-cards-v14 a,.footer-navigation-v14 nav a { transition:none; transform:none !important; }
}

/* ZACCS 4.1 — Spotlight Instagram feed before the home FAQ. */
.home-instagram-section { position:relative; overflow:hidden; padding:clamp(58px,7vw,96px) 0; background:linear-gradient(180deg,#E7EFF1 0%,#EEF3F4 100%); }
.home-instagram-section::before { content:""; position:absolute; top:-22vw; right:-17vw; width:48vw; aspect-ratio:1; border:1px solid rgba(72,149,161,.1); border-radius:50%; box-shadow:0 0 0 75px rgba(72,149,161,.018),0 0 0 150px rgba(72,149,161,.012); pointer-events:none; }
.home-instagram-section > .wrap { position:relative; z-index:1; }
.home-instagram-title { margin:0 0 clamp(24px,3vw,38px); color:var(--blue); font-size:clamp(34px,4.6vw,64px); line-height:.98; letter-spacing:-.045em; }
.home-instagram-heading { align-items:end; margin-bottom:clamp(35px,5vw,62px); }
.home-instagram-heading h2 { max-width:820px; }
.home-instagram-heading .lead { max-width:680px; }
.home-instagram-heading > .text-link { flex:0 0 auto; margin-bottom:9px; white-space:nowrap; }
.home-instagram-feed { min-height:220px; padding:0; overflow:hidden; border:1px solid rgba(32,68,79,.12); border-radius:26px; background:#fff; box-shadow:0 24px 70px rgba(24,58,70,.07); }
.home-instagram-feed .spotlight-instagram-feed,
.home-instagram-feed [class*="sli-feed"] { overflow:hidden; border:0 !important; border-radius:25px; box-shadow:none !important; }

@media (max-width:760px) {
    .home-instagram-heading { align-items:flex-start; }
    .home-instagram-heading > .text-link { margin-top:10px; }
    .home-instagram-feed { min-height:180px; border-radius:20px; }
    .home-instagram-feed .spotlight-instagram-feed,
    .home-instagram-feed [class*="sli-feed"] { border-radius:19px; }
}

/* ZACCS 5.1 — Celory product navigation and unified cross-device UI. */
.menu-item-celory > a { display:flex !important; align-items:center; gap:7px; }
.celory-menu-mark { width:7px; height:7px; border-radius:3px; background:linear-gradient(135deg,#8B89FF,#5653D6); box-shadow:0 0 13px rgba(104,101,232,.65); transition:transform .28s ease,box-shadow .28s ease; }
.menu-item-celory > a:hover .celory-menu-mark,
.menu-item-celory.current-menu-item > a .celory-menu-mark { transform:rotate(45deg) scale(1.12); box-shadow:0 0 18px rgba(139,137,255,.9); }

body.celory-theme { --cyan:#6865E8; --cyan-light:#9B99FF; --blue:#232154; --deep:#0C0C13; accent-color:#6865E8; }
body.celory-theme ::selection { background:#6865E8; color:#fff; }
body.celory-theme .site-header,
body.celory-theme .site-header.scrolled { border-color:rgba(139,137,255,.24); background:linear-gradient(110deg,rgba(17,17,29,.9),rgba(39,36,83,.88)); box-shadow:0 18px 60px rgba(6,5,20,.36),inset 0 1px rgba(255,255,255,.09); }
body.celory-theme .site-header::before { content:""; position:absolute; inset:0; z-index:-1; border-radius:inherit; background:radial-gradient(circle at 78% 0,rgba(104,101,232,.25),transparent 42%); pointer-events:none; }
body.celory-theme .site-header .nav-wrap,
body.celory-theme .site-header.scrolled .nav-wrap { background:transparent; border:0; box-shadow:none; }
body.celory-theme .main-nav { border:1px solid rgba(139,137,255,.12); background:rgba(255,255,255,.045); }
body.celory-theme .main-nav a:hover,
body.celory-theme .main-nav a:focus-visible,
body.celory-theme .main-nav .current-menu-item > a,
body.celory-theme .main-nav .current-menu-ancestor > a { color:#fff; background:rgba(104,101,232,.24); box-shadow:inset 0 0 0 1px rgba(155,153,255,.2),0 0 24px rgba(86,83,214,.18); }
body.celory-theme .language-switcher summary { border-color:rgba(139,137,255,.22); background:rgba(104,101,232,.1); }
body.celory-theme .language-switcher[open] summary,
body.celory-theme .language-switcher summary:hover { border-color:rgba(155,153,255,.48); background:rgba(104,101,232,.2); }
body.celory-theme .language-popover { border-color:rgba(139,137,255,.2); background:rgba(20,19,39,.98); }
body.celory-theme .language-option:hover { background:rgba(104,101,232,.18); }
body.celory-theme .header-cta,
body.celory-theme main .btn { border-color:transparent; background:linear-gradient(135deg,#7774F0,#5653D6); color:#fff; box-shadow:0 15px 38px rgba(86,83,214,.3); }
body.celory-theme .header-cta:hover,
body.celory-theme main .btn:hover { background:linear-gradient(135deg,#918FFF,#6865E8); color:#fff; box-shadow:0 18px 46px rgba(104,101,232,.42); transform:translateY(-2px); }
body.celory-theme main .text-link { color:#AAA8FF; }
body.celory-theme main .text-link:hover { color:#D7D6FF; }
body.celory-theme :focus-visible { outline-color:#9B99FF; }

.celory-device-stage-v15 { perspective:1400px; }
.celory-device-v15 { overflow:hidden; }
.celory-device-v15.is-mac { padding:9px; background:linear-gradient(145deg,#30303A,#17171D); box-shadow:0 55px 120px rgba(0,0,0,.72),0 0 0 1px rgba(139,137,255,.12),inset 0 1px rgba(255,255,255,.13); }
.celory-app-v16 { display:grid; grid-template-columns:54px 1fr; height:100%; overflow:hidden; border-radius:19px; background:#F7F7FB; color:#1D1D27; }
.celory-app-sidebar-v16 { display:flex; flex-direction:column; align-items:center; gap:17px; padding:18px 0; background:#171720; }
.celory-app-sidebar-v16 img { width:27px; height:27px; margin-bottom:14px; border-radius:8px; }
.celory-app-sidebar-v16 i { position:relative; width:25px; height:25px; border-radius:8px; background:rgba(255,255,255,.07); }
.celory-app-sidebar-v16 i::before { content:""; position:absolute; inset:8px; border:1px solid rgba(255,255,255,.45); border-radius:3px; }
.celory-app-sidebar-v16 i.is-active { background:#6865E8; box-shadow:0 8px 22px rgba(86,83,214,.42); }
.celory-app-sidebar-v16 span { flex:1; }
.celory-app-main-v16 { min-width:0; padding:clamp(18px,2vw,29px); background:linear-gradient(145deg,#FBFBFE,#F0F0FA); }
.celory-app-main-v16 > header { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; }
.celory-app-main-v16 > header span,.celory-app-main-v16 article > span { display:block; margin-bottom:5px; color:#888794; font-size:8px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.celory-app-main-v16 > header strong { display:block; font-size:clamp(17px,1.6vw,25px); line-height:1.08; letter-spacing:-.045em; }
.celory-app-main-v16 > header > b { padding:7px 10px; border:1px solid #E1E1EC; border-radius:9px; color:#777683; background:#fff; font-size:7px; font-weight:650; white-space:nowrap; }
.celory-kpis-v16 { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:20px 0 12px; }
.celory-kpis-v16 article { min-width:0; padding:12px; border:1px solid #E8E8F0; border-radius:13px; background:rgba(255,255,255,.84); box-shadow:0 10px 28px rgba(44,42,88,.045); }
.celory-kpis-v16 strong { display:block; overflow:hidden; font-size:clamp(14px,1.35vw,21px); line-height:1; white-space:nowrap; text-overflow:ellipsis; }
.celory-kpis-v16 small { display:block; margin-top:8px; color:#5C59D9; font-size:7px; white-space:nowrap; }
.celory-workspace-v16 { display:grid; grid-template-columns:1.4fr .8fr; gap:10px; min-height:180px; }
.celory-workspace-v16 > article { padding:14px; border:1px solid #E8E8F0; border-radius:14px; background:#fff; }
.celory-line-v16 { position:relative; display:flex; align-items:flex-end; gap:8%; height:105px; margin-top:11px; padding:8px 10px 0; border-bottom:1px solid #E6E6EF; background:repeating-linear-gradient(to bottom,transparent 0,transparent 32px,#EEEEF5 33px); }
.celory-line-v16::after { content:""; position:absolute; inset:24px 9px 18px; background:linear-gradient(150deg,transparent 0 9%,#6865E8 10% 12%,transparent 13% 24%,#6865E8 25% 27%,transparent 28% 39%,#6865E8 40% 42%,transparent 43% 54%,#6865E8 55% 57%,transparent 58% 69%,#6865E8 70% 72%,transparent 73% 84%,#6865E8 85% 87%,transparent 88%); opacity:.8; clip-path:polygon(0 68%,18% 52%,38% 61%,58% 30%,76% 42%,100% 8%,100% 16%,76% 50%,58% 39%,38% 70%,18% 61%,0 77%); }
.celory-line-v16 i { position:relative; z-index:2; flex:1; height:25%; border-radius:4px 4px 1px 1px; background:linear-gradient(#AAA8FF,#6865E8); opacity:.32; }
.celory-line-v16 i:nth-child(2){height:42%}.celory-line-v16 i:nth-child(3){height:35%}.celory-line-v16 i:nth-child(4){height:68%}.celory-line-v16 i:nth-child(5){height:55%}.celory-line-v16 i:nth-child(6){height:85%}
.celory-performance-v16 footer { display:flex; justify-content:space-between; padding-top:5px; color:#AAA9B4; font-size:6px; }
.celory-activity-v16 p { display:grid; grid-template-columns:8px 1fr; gap:6px; margin:9px 0 0; padding:8px; border-radius:8px; background:#F6F6FB; }
.celory-activity-v16 p i { grid-row:1/3; width:7px; height:7px; margin-top:2px; border-radius:50%; background:#6865E8; box-shadow:0 0 0 3px #E8E7FF; }
.celory-activity-v16 p b { overflow:hidden; font-size:7px; white-space:nowrap; text-overflow:ellipsis; }
.celory-activity-v16 p small { color:#9695A1; font-size:6px; }

.celory-device-v15.is-tablet,.celory-device-v15.is-phone { padding:8px; background:linear-gradient(145deg,#34343D,#16161C); box-shadow:0 45px 90px rgba(0,0,0,.65),0 0 0 1px rgba(139,137,255,.11); }
.celory-mobile-ui-v16 { height:100%; padding:clamp(16px,2vw,26px); overflow:hidden; border-radius:19px; background:linear-gradient(150deg,#FBFBFE,#EFEFF9); color:#1D1D27; }
.celory-mobile-ui-v16 > header { display:flex; align-items:center; gap:8px; margin-bottom:20px; color:#6865E8; font-size:8px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.celory-mobile-ui-v16 > header img { width:22px; height:22px; border-radius:7px; }
.celory-mobile-ui-v16 > header i { width:7px; height:7px; margin-left:auto; border-radius:50%; background:#62D69B; box-shadow:0 0 0 4px #DDF7E9; }
.celory-mobile-ui-v16 > strong { display:block; margin-bottom:19px; font-size:clamp(17px,1.8vw,28px); line-height:1; letter-spacing:-.045em; }
.celory-pipeline-v16 { display:grid; gap:11px; }
.celory-pipeline-v16 article { display:grid; grid-template-columns:1fr auto; gap:5px 8px; padding-bottom:8px; border-bottom:1px solid #DDDDEA; }
.celory-pipeline-v16 span { color:#777683; font-size:8px; }
.celory-pipeline-v16 b { font-size:10px; }
.celory-pipeline-v16 i { grid-column:1/-1; width:var(--level); height:4px; border-radius:999px; background:linear-gradient(90deg,#5653D6,#9B99FF); }
.celory-mobile-ui-v16 > footer { margin-top:18px; padding:12px; border-radius:12px; color:#fff; background:#1E1E29; }
.celory-mobile-ui-v16 > footer span { display:block; color:#ACABB8; font-size:7px; }
.celory-mobile-ui-v16 > footer b { display:block; margin-top:3px; font-size:15px; }
.celory-mobile-ui-v16.is-compact { position:relative; padding:18px 14px; }
.celory-mobile-ui-v16.is-compact > header { margin-bottom:22px; }
.celory-mobile-ui-v16.is-compact > strong { font-size:clamp(16px,1.65vw,24px); }
.celory-tasks-v16 p { display:flex; gap:7px; margin:0 0 8px; padding:9px 7px; border-radius:10px; background:#fff; box-shadow:0 7px 18px rgba(44,42,88,.06); }
.celory-tasks-v16 p > i { flex:0 0 auto; width:10px; height:10px; margin-top:2px; border:2px solid #8D8AF5; border-radius:50%; }
.celory-tasks-v16 p > span { min-width:0; overflow:hidden; font-size:7px; font-weight:650; white-space:nowrap; text-overflow:ellipsis; }
.celory-tasks-v16 small { display:block; margin-top:2px; color:#9998A4; font-size:6px; font-weight:500; }
.celory-mobile-ui-v16.is-compact > button { position:absolute; right:13px; bottom:14px; width:30px; height:30px; padding:0; border:0; border-radius:50%; color:#fff; background:linear-gradient(135deg,#8B89FF,#5653D6); box-shadow:0 9px 22px rgba(86,83,214,.35); font-size:19px; line-height:30px; pointer-events:none; }

@media (max-width:1000px) {
    body.celory-theme .site-header::before { opacity:.7; }
    .celory-app-main-v16 { padding:22px; }
}
@media (max-width:1120px) {
    body.celory-theme .main-nav { position:absolute; inset:calc(100% + 10px) 0 auto; width:100%; height:auto; max-height:calc(100svh - 100px); padding:20px; overflow:auto; border:1px solid rgba(139,137,255,.18); border-radius:22px; background:rgba(18,17,36,.985); box-shadow:0 28px 65px rgba(5,4,18,.52); backdrop-filter:blur(24px); }
    body.celory-theme .main-nav > li { width:100%; }
    body.celory-theme .main-nav > li > a { width:100%; padding:11px 13px; }
}
@media (max-width:700px) {
    .celory-device-stage-v15 { min-height:520px; margin-top:10px; }
    .celory-app-v16 { grid-template-columns:42px 1fr; }
    .celory-app-sidebar-v16 { gap:12px; padding-top:13px; }
    .celory-app-sidebar-v16 img { width:23px; height:23px; }
    .celory-app-sidebar-v16 i { width:21px; height:21px; }
    .celory-app-main-v16 { padding:15px; }
    .celory-kpis-v16 article:nth-child(3),.celory-activity-v16 { display:none; }
    .celory-kpis-v16 { grid-template-columns:1fr 1fr; }
    .celory-workspace-v16 { grid-template-columns:1fr; }
    .celory-device-v15.is-phone { width:34%; }
    .celory-device-v15.is-tablet { width:52%; }
}
@media (prefers-reduced-motion:reduce) {
    .celory-menu-mark,body.celory-theme .btn { transition:none !important; }
}

/* ZACCS 5.2 — shared services, editable showcases and Preview conversion path. */
.services-stage-copy-v15 h2 { margin:20px 0 24px; font-size:clamp(58px,7.3vw,112px); line-height:.86; letter-spacing:-.07em; }
.services-stage-home { min-height:100svh; }
.services-stage-home .services-stage-grid-v15 { padding-top:120px; }

.services-directory-v16 { background:#F5F7F8; }
.services-directory-heading-v16 { display:grid; grid-template-columns:1.1fr .9fr; gap:30px 7vw; align-items:end; margin-bottom:clamp(38px,5vw,70px); }
.services-directory-heading-v16 .eyebrow { grid-column:1/-1; }
.services-directory-heading-v16 h2 { max-width:760px; margin:0; }
.services-directory-heading-v16 p { max-width:540px; margin:0 0 9px; color:#657780; }
.services-directory-list-v16 { border-top:1px solid #CCD9DD; }
.services-directory-list-v16 > a { display:grid; grid-template-columns:60px minmax(210px,.75fr) minmax(280px,1.35fr) 42px; gap:25px; align-items:center; min-height:112px; padding:24px 6px; border-bottom:1px solid #CCD9DD; transition:padding .35s var(--apple-ease),background .25s; }
.services-directory-list-v16 > a:hover { padding-inline:18px; background:rgba(255,255,255,.72); }
.services-directory-list-v16 span { color:#4F939D; font-size:10px; font-weight:750; }
.services-directory-list-v16 strong { font-size:clamp(1.2rem,2vw,1.75rem); letter-spacing:-.04em; }
.services-directory-list-v16 p { margin:0; color:#667981; font-size:12px; line-height:1.6; }
.services-directory-list-v16 i { display:grid; width:38px; height:38px; place-items:center; border-radius:50%; color:#17313C; background:#E3EBED; font-style:normal; transition:background .2s,color .2s,transform .3s; }
.services-directory-list-v16 > a:hover i { color:#fff; background:#4895A1; transform:rotate(45deg); }

.header-preview-cta-v16 { display:flex; align-items:center; gap:7px; padding:8px 12px; border:1px solid rgba(126,203,212,.22); border-radius:999px; color:#D7F1F4; font-size:9px; font-weight:720; white-space:nowrap; transition:background .25s,border-color .25s,transform .25s; }
.header-preview-cta-v16 i { width:6px; height:6px; border-radius:50%; background:#79CDD6; box-shadow:0 0 12px #79CDD6; }
.header-preview-cta-v16:hover { border-color:rgba(126,203,212,.5); background:rgba(102,181,192,.12); transform:translateY(-1px); }

.menu-item-celory .celory-menu-mark { animation:celory-breathe-v16 5.8s ease-in-out infinite; }
@keyframes celory-breathe-v16 { 0%,100%{opacity:.68;box-shadow:0 0 8px rgba(104,101,232,.36)} 50%{opacity:1;box-shadow:0 0 16px rgba(139,137,255,.72)} }
.home-celory-v15 .btn { border-color:transparent; background:linear-gradient(135deg,#7774F0,#5653D6); color:#fff; box-shadow:0 15px 38px rgba(86,83,214,.3); }
.home-celory-v15 .btn:hover { background:linear-gradient(135deg,#918FFF,#6865E8); color:#fff; }
body.home-celory-header-active .site-header,
body.home-celory-header-active .site-header.scrolled { border-color:rgba(139,137,255,.24); background:linear-gradient(110deg,rgba(17,17,29,.92),rgba(39,36,83,.9)); box-shadow:0 18px 60px rgba(6,5,20,.36),inset 0 1px rgba(255,255,255,.09); }
body.home-celory-header-active .main-nav a:hover,
body.home-celory-header-active .main-nav .menu-item-celory > a { background:rgba(104,101,232,.24); box-shadow:inset 0 0 0 1px rgba(155,153,255,.2),0 0 24px rgba(86,83,214,.18); }
body.home-celory-header-active .header-preview-cta-v16 i { background:#9B99FF; box-shadow:0 0 14px #8B89FF; }
body.home-celory-header-active .header-cta { background:linear-gradient(135deg,#7774F0,#5653D6); color:#fff; }

.website-project-card-v16 .website-project-media-v12 { position:relative; background-color:#DEE6E8; }
.website-project-card-v16 .website-project-media-v12::after { background:linear-gradient(180deg,transparent 45%,rgba(10,21,27,.3)); }
.website-project-card-v16 .website-project-media-v12 > i { z-index:4; }
.website-project-logo-v16 { position:absolute !important; z-index:4; right:16px; bottom:16px; display:grid !important; width:auto !important; max-width:42%; height:58px; min-width:90px; place-items:center; margin:0 !important; padding:9px 12px; border:1px solid rgba(255,255,255,.72); border-radius:12px !important; background:rgba(255,255,255,.92) !important; box-shadow:0 12px 30px rgba(15,30,38,.16); backdrop-filter:blur(12px); }
.website-project-logo-v16 img { width:auto !important; max-width:100% !important; height:100% !important; max-height:40px; object-fit:contain !important; border-radius:0 !important; filter:none !important; }
.website-project-card-v16 .website-project-copy-v12 { padding-bottom:26px; }
.website-project-card-v16 .website-project-copy-v12 p { margin-bottom:0; }

.celory-screen-replacement-v16 { width:100%; height:100%; border-radius:inherit; object-fit:cover; object-position:top center; background:#F5F5FA; }

.preview-explainer-v15 { padding-block:clamp(70px,8vw,115px); }
.preview-explainer-grid-v15 { gap:clamp(35px,6vw,80px); }
.preview-explainer-grid-v15 > div:first-child .lead { max-width:560px; margin-bottom:26px; color:#65757D; }
.preview-request-v15 { padding-block:clamp(75px,8vw,120px); }
.contact-preview-v16 { overflow:hidden; background:linear-gradient(135deg,#172832,#223F4B); color:#fff; }
.contact-preview-grid-v16 { display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(40px,7vw,100px); align-items:start; }
.contact-preview-grid-v16 aside { position:sticky; top:120px; }
.contact-preview-grid-v16 h2 { color:#fff; font-size:clamp(2.8rem,5vw,5.5rem); line-height:.94; }
.contact-preview-grid-v16 p { color:#B7C8CE; }

.footer-map-copy-v14 { padding:15px 12px 10px; }
.footer-map-copy-v14 nav { justify-content:center; gap:10px 22px; }
.site-footer-v14 .footer-map-copy-v14 nav a { font-size:9px; }
.footer-navigation-v14 { grid-template-columns:1.3fr repeat(4,.7fr); gap:clamp(24px,3.5vw,52px); }
.footer-social-links-v16 nav i { color:#7FCBD4; font-style:normal; }

@media (max-width:1250px) {
    .header-cta { display:none; }
    .header-preview-cta-v16 { margin-left:auto; }
}
@media (max-width:1120px) {
    .site-header .main-nav { position:absolute; inset:calc(100% + 10px) 0 auto; width:100%; height:auto; max-height:calc(100svh - 100px); padding:20px; overflow:auto; border:1px solid rgba(126,203,212,.16); border-radius:22px; background:rgba(17,29,38,.985); box-shadow:0 28px 65px rgba(5,15,20,.45); backdrop-filter:blur(24px); }
    .site-header .main-nav > li { width:100%; }
    .site-header .main-nav > li > a { width:100%; padding:11px 13px; }
    .header-preview-cta-v16 { margin-left:auto; }
    .services-directory-heading-v16 { grid-template-columns:1fr; }
    .services-directory-heading-v16 .eyebrow { grid-column:auto; }
    .footer-navigation-v14 { grid-template-columns:repeat(4,1fr); }
    .footer-nav-cta-v14 { grid-column:1/-1; }
}
@media (max-width:760px) {
    .header-preview-cta-v16 { display:none; }
    .services-stage-home .services-stage-grid-v15 { padding-top:120px; }
    .services-stage-copy-v15 h2 { font-size:clamp(48px,15vw,72px); }
    .services-directory-list-v16 > a { grid-template-columns:42px 1fr 36px; gap:12px; min-height:92px; }
    .services-directory-list-v16 p { display:none; }
    .services-directory-list-v16 i { width:34px; height:34px; }
    .contact-preview-grid-v16 { grid-template-columns:1fr; }
    .contact-preview-grid-v16 aside { position:static; }
    .footer-navigation-v14 { grid-template-columns:1fr 1fr; }
    .footer-social-links-v16 { grid-column:auto !important; }
}
@media (max-width:430px) {
    .website-project-logo-v16 { right:12px; bottom:12px; height:48px; max-width:48%; min-width:78px; padding:7px 9px; }
}
@media (prefers-reduced-motion:reduce) {
    .menu-item-celory .celory-menu-mark { animation:none; }
}

/* ZACCS 5.3 — clearer showcases, contextual header and social footer. */
.services-stage-slide-v15 { color:var(--stage-ink); }
.services-stage-copy-v15 h2 { color:var(--stage-ink); }
.service-slide-cybersecurity .services-stage-copy-v15 h1,
.service-slide-cybersecurity .services-stage-copy-v15 h2 { color:#F7FBFC !important; text-shadow:0 8px 35px rgba(0,0,0,.24); }

.website-carousel-v12 { position:relative; }
.website-carousel-viewport-v12 { padding-block:8px 18px; -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 2.5%,#000 97.5%,transparent 100%); mask-image:linear-gradient(90deg,transparent 0,#000 2.5%,#000 97.5%,transparent 100%); }
.website-carousel-track-v12 { gap:18px; }
.website-project-card-v12 { width:clamp(315px,29vw,440px); min-height:500px; grid-template-rows:292px 1fr; border-color:rgba(184,226,231,.14); border-radius:32px; background:linear-gradient(155deg,rgba(255,255,255,.09),rgba(255,255,255,.045)); box-shadow:0 28px 70px rgba(2,13,20,.22); }
.website-project-card-v12:hover { border-color:rgba(139,216,224,.46); background:linear-gradient(155deg,rgba(255,255,255,.13),rgba(255,255,255,.075)); transform:translateY(-7px); box-shadow:0 38px 88px rgba(2,13,20,.3); }
.website-project-card-v16 .website-project-media-v12 { margin:10px; border-radius:23px; background-color:#DDE6E8; box-shadow:inset 0 0 0 1px rgba(255,255,255,.48); }
.website-project-card-v16 .website-project-media-v12::before { content:""; position:absolute; inset:0; width:auto; aspect-ratio:auto; border:0; border-radius:inherit; background:linear-gradient(180deg,rgba(8,23,30,.02),rgba(8,23,30,.2)); box-shadow:inset 0 1px rgba(255,255,255,.38); pointer-events:none; }
.website-project-card-v16 .website-project-media-v12::after { content:""; position:absolute; inset:0; background:radial-gradient(circle at 78% 18%,rgba(129,214,223,.2),transparent 32%); pointer-events:none; }
.website-project-media-v12.has-cover { background-size:cover; background-position:center top; }
.website-project-logo-v16 { left:auto !important; right:15px !important; top:auto !important; bottom:15px !important; width:126px !important; min-width:126px !important; max-width:126px !important; height:60px !important; padding:0 !important; overflow:hidden !important; contain:layout paint; isolation:isolate; line-height:0; border:1px solid rgba(255,255,255,.86) !important; border-radius:14px !important; background:#FFF !important; box-shadow:0 12px 28px rgba(6,20,27,.2) !important; }
.website-project-logo-v16 img { position:absolute !important; inset:8px 10px !important; display:block !important; width:calc(100% - 20px) !important; height:calc(100% - 16px) !important; max-width:none !important; max-height:none !important; margin:0 !important; padding:0 !important; border:0 !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; filter:none !important; object-fit:contain !important; object-position:center !important; transform:none !important; }
.project-card-smart-lab-54 .website-project-logo-v16 img { inset:6px 9px !important; width:calc(100% - 18px) !important; height:calc(100% - 12px) !important; object-fit:cover !important; object-position:center 52% !important; }
.project-card-truven-consulting .website-project-logo-v16 img { inset:6px 9px !important; width:calc(100% - 18px) !important; height:calc(100% - 12px) !important; object-fit:cover !important; object-position:center !important; }
.website-project-copy-v12 { padding:25px 28px 30px; }
.website-project-copy-v12 h3 { max-width:12ch; font-size:clamp(1.8rem,2.45vw,2.5rem); }
.website-project-copy-v12 p { color:rgba(235,247,249,.66); font-size:11.5px; -webkit-line-clamp:3; }
.website-carousel-toolbar-v12 > span { color:rgba(226,245,248,.68); }
.website-carousel-toolbar-v12 button { border-color:rgba(166,224,231,.22); background:rgba(255,255,255,.08); box-shadow:inset 0 1px rgba(255,255,255,.08); }

.app-focus-card-v6 { height:620px; min-height:620px; isolation:isolate; overflow:hidden; border:1px solid rgba(126,203,212,.17); border-radius:36px; background:linear-gradient(135deg,#142831 0,#1E3944 58%,#244B55 100%); box-shadow:0 38px 95px rgba(13,35,45,.2); }
.app-focus-card-v6::before { content:""; position:absolute; z-index:-1; width:520px; aspect-ratio:1; left:-190px; top:-250px; border-radius:50%; background:radial-gradient(circle,rgba(102,181,192,.34),transparent 67%); }
.app-focus-card-v6::after { content:""; position:absolute; z-index:-1; right:-120px; bottom:-210px; width:430px; aspect-ratio:1; border:1px solid rgba(170,226,232,.12); border-radius:50%; box-shadow:0 0 0 54px rgba(255,255,255,.025); }
.app-focus-visual-v6 { min-width:0; min-height:0; margin:12px; overflow:hidden; border:1px solid rgba(255,255,255,.11); border-radius:27px; background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.035)); box-shadow:inset 0 1px rgba(255,255,255,.1); }
.app-focus-visual-v6 img { width:min(245px,72%); border-radius:25%; box-shadow:0 35px 78px rgba(2,14,22,.36); }
.app-focus-copy-v6 { min-width:0; min-height:0; overflow:hidden; padding:clamp(42px,5vw,66px) clamp(38px,6vw,82px); }
.app-focus-copy-v6 h3 { margin:12px 0 18px; font-size:clamp(3rem,5.2vw,5.25rem); line-height:.92; }
.app-focus-copy-v6 p { -webkit-line-clamp:3; }
.app-focus-copy-v6 ul { margin:20px 0 28px; }
.preview-error-v18 { border-color:rgba(184,74,74,.28); background:rgba(184,74,74,.08); }
.notice-error { color:#9C3434; }
.app-icon-rail-v6 { padding:12px; overflow-x:auto; border:1px solid #D7E3E6; border-radius:27px; background:rgba(238,244,245,.78); box-shadow:0 20px 55px rgba(24,55,67,.07); scrollbar-width:thin; }
.app-icon-choice-v6 { min-height:86px; border-color:transparent; border-radius:19px; background:rgba(255,255,255,.58); }
.app-icon-choice-v6:hover,.app-icon-choice-v6.is-active { border-color:rgba(72,149,161,.28); background:#fff; box-shadow:0 13px 30px rgba(25,52,64,.1); }
.app-icon-choice-v6 img { width:56px; height:56px; flex-basis:56px; border-radius:16px; box-shadow:0 8px 20px rgba(25,45,54,.12); }

.footer-social-card-v17 { display:grid; grid-template-columns:minmax(150px,.58fr) minmax(0,1.42fr); align-items:center; gap:20px; margin-top:10px; padding:12px; border:1px solid rgba(255,255,255,.1); border-radius:22px; background:linear-gradient(120deg,rgba(255,255,255,.045),rgba(72,149,161,.08)); }
.footer-social-card-v17 > div { padding:5px 10px; }
.footer-social-card-v17 > div span { display:block; margin-bottom:6px; color:#84CED7; font-size:8px; font-weight:750; letter-spacing:.12em; text-transform:uppercase; }
.footer-social-card-v17 > div strong { color:#F5F9FA; font-size:clamp(1.05rem,1.45vw,1.35rem); letter-spacing:-.035em; }
.footer-social-card-v17 nav { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.site-footer-v14 .footer-social-card-v17 a { display:grid; grid-template-columns:35px minmax(0,1fr) auto; align-items:center; gap:10px; min-width:0; min-height:54px; margin:0; padding:9px 11px; border:1px solid rgba(255,255,255,.09); border-radius:15px; color:#DCE7E9; background:rgba(255,255,255,.045); transition:transform .3s var(--apple-ease),background .25s,border-color .25s; }
.site-footer-v14 .footer-social-card-v17 a:hover { transform:translateY(-2px); border-color:rgba(139,216,224,.34); background:rgba(102,181,192,.13); }
.footer-social-card-v17 nav i { display:grid; width:35px; height:35px; place-items:center; border-radius:11px; background:rgba(126,203,212,.11); color:#8ED6DE; font:750 9px/1 Montserrat,sans-serif; font-style:normal; }
.footer-social-card-v17 nav i svg { display:block; width:21px; height:21px; }
.services-stage-page .services-stage-copy-v15 h2 { margin:0 0 30px; font-size:clamp(58px,8vw,126px); line-height:.88; letter-spacing:-.065em; }
@media (max-width:700px) { .services-stage-page .services-stage-copy-v15 h2 { font-size:clamp(48px,15vw,72px); } }
.footer-social-card-v17 nav span { overflow:hidden; font-size:10px; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.footer-social-card-v17 nav b { color:#79C6CF; font-weight:400; }
.footer-navigation-v14 { grid-template-columns:1.3fr .7fr .86fr .86fr; }

body.services-theme .site-header,
body.services-theme .site-header.scrolled,
body.home-services-header-active .site-header,
body.home-services-header-active .site-header.scrolled { border-color:rgba(232,239,242,.28); background:linear-gradient(110deg,rgba(39,48,54,.94),rgba(93,104,111,.9)); box-shadow:0 18px 58px rgba(17,26,31,.24),inset 0 1px rgba(255,255,255,.16); }
body.services-theme .header-cta,
body.home-services-header-active .header-cta { border-color:#DCE5E8; background:linear-gradient(135deg,#EAF0F2,#BAC6CB); color:#253139; }
body.services-theme .header-preview-cta-v16 i,
body.home-services-header-active .header-preview-cta-v16 i { background:#E4ECEF; box-shadow:0 0 14px rgba(231,240,243,.8); }

body.portfolio-theme .site-header,
body.portfolio-theme .site-header.scrolled,
body.home-portfolio-header-active .site-header,
body.home-portfolio-header-active .site-header.scrolled { border-color:rgba(161,231,238,.3); background:linear-gradient(110deg,rgba(24,62,70,.95),rgba(67,142,152,.9)); box-shadow:0 18px 58px rgba(8,37,43,.25),inset 0 1px rgba(255,255,255,.14); }
body.portfolio-theme .header-cta,
body.home-portfolio-header-active .header-cta { border-color:transparent; background:linear-gradient(135deg,#A8E2E7,#66B5C0); color:#14333A; }
body.portfolio-theme .header-preview-cta-v16 i,
body.home-portfolio-header-active .header-preview-cta-v16 i { background:#B6EEF2; box-shadow:0 0 15px rgba(182,238,242,.92); }
body.home-celory-header-active .site-header,
body.home-celory-header-active .site-header.scrolled { border-color:rgba(139,137,255,.24); background:linear-gradient(110deg,rgba(17,17,29,.92),rgba(39,36,83,.9)); }

@media (max-width:1120px) {
    .app-icon-rail-v6 { grid-template-columns:repeat(7,minmax(145px,1fr)); }
    .footer-social-card-v17 { grid-template-columns:1fr; }
}
@media (max-width:760px) {
    .website-carousel-viewport-v12 { -webkit-mask-image:none; mask-image:none; }
    .website-project-card-v12 { width:84vw; min-height:470px; grid-template-rows:250px 1fr; }
    .website-project-logo-v16 { width:104px !important; min-width:104px !important; max-width:104px !important; height:52px !important; }
    .app-focus-card-v6 { height:670px; min-height:670px; grid-template-rows:280px minmax(0,1fr); }
    .app-focus-visual-v6 { margin:9px; min-height:280px; }
    .app-focus-copy-v6 { padding:30px 25px 34px; }
    .app-focus-copy-v6 h3 { font-size:clamp(2.75rem,14vw,4.2rem); }
    .footer-social-card-v17 nav { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) {
    .website-project-card-v12,.app-focus-card-v6,.footer-social-card-v17 a { transition:none !important; transform:none !important; }
}
/* Gutenberg-native editorial sections */
.wp-block-zaccs-section{box-sizing:border-box;padding:clamp(72px,8vw,128px) max(24px,calc((100vw - 1240px)/2));position:relative}.wp-block-zaccs-section>.zaccs-block-wrap{margin-inline:auto;max-width:1240px;position:relative;z-index:1}.wp-block-zaccs-section.is-width-compact>.zaccs-block-wrap{max-width:820px}.wp-block-zaccs-section.is-width-wide>.zaccs-block-wrap{max-width:1480px}.wp-block-zaccs-section.is-tone-light{background:#f4f7f8;color:#203348}.wp-block-zaccs-section.is-tone-blue{background:#203348;color:#f4f7f8}.wp-block-zaccs-section.is-tone-dark{background:#131d29;color:#f4f7f8}.wp-block-zaccs-section.is-tone-turquoise{background:#4895a1;color:#fff}.wp-block-zaccs-section.is-tone-celory{background:linear-gradient(135deg,#11111c,#242449);color:#fff}.wp-block-zaccs-section .wp-block-button__link{background:#4895a1;border-radius:999px;color:#fff;font-weight:700;padding:.9rem 1.35rem}.wp-block-zaccs-section.is-tone-turquoise .wp-block-button__link{background:#131d29}.wp-block-zaccs-section .wp-block-image img{border-radius:clamp(18px,2vw,32px)}@media(max-width:700px){.wp-block-zaccs-section{padding:64px 20px}}
