:root{--bg:#020913;--panel:rgba(7,20,32,.74);--text:#f5f8fb;--muted:#b8c7d2;--cyan:#43c8ff;--line:rgba(92,174,218,.24);--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:"Segoe UI",Arial,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{width:min(var(--max),92vw);margin:auto}
.cyber-bg{position:fixed;inset:0;z-index:-3;overflow:hidden;background:#020913}.cyber-bg video{display:block;width:100%;height:100%;object-fit:cover;object-position:center 34%;opacity:.94;filter:blur(3px) brightness(.92) saturate(1.06);transform:scale(1.025);will-change:transform;backface-visibility:hidden}.cyber-shade{position:fixed;inset:0;z-index:-2;pointer-events:none;background:rgba(2,9,17,.34)}
.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;z-index:5;background:rgba(3,12,24,.28);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.brand{font-weight:750;letter-spacing:.34em;font-size:21px}.menu{display:flex;gap:30px;align-items:center;font-size:14px}.menu a{padding:8px 0;border-bottom:1px solid transparent}.menu a:hover,.menu .active{color:var(--cyan);border-color:var(--cyan)}
main{position:relative;z-index:1}.hero{width:100vw;max-width:none;margin-left:calc(50% - 50vw);min-height:calc(100vh - 82px);display:flex;align-items:center;justify-content:center;padding:48px 3vw 76px;text-align:center}.hero>div:first-child{width:100%;max-width:none;margin:auto;text-align:center}.eyebrow{color:var(--cyan);letter-spacing:.24em;text-transform:uppercase;font-size:12px;font-weight:700;text-align:center}.hero h1,.pagehero h1{font-weight:750;letter-spacing:-.06em}.hero h1{width:100%;max-width:none;margin:18px auto 24px;font-size:clamp(68px,10vw,176px);line-height:.86;text-align:center}.hero h1 span,.pagehero h1 span{color:var(--cyan)}.lead{font-size:18px;line-height:1.65;color:#d1dbe2;max-width:680px;margin-left:auto;margin-right:auto;text-align:center}.actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:28px}.btn{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--cyan);border-radius:999px;padding:13px 20px;font-weight:700}.btn.primary{background:var(--cyan);color:#031018}
.section{padding:90px 0;border-top:1px solid rgba(50,101,132,.3);background:rgba(3,12,24,.54);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);text-align:center}.sectionhead{display:block;text-align:center;margin-bottom:32px}.section h2{font-size:clamp(38px,5vw,70px);line-height:1;letter-spacing:-.045em;margin:8px auto}.sectionhead p{color:var(--muted);max-width:560px;line-height:1.6;margin:14px auto}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.card{background:linear-gradient(145deg,rgba(12,27,40,.9),rgba(7,19,29,.9));border:1px solid var(--line);border-radius:24px;overflow:hidden;min-width:0;text-align:center}.card img{width:100%;height:330px;object-fit:cover}.cardbody{padding:26px;text-align:center}.card h3{font-size:28px;margin:0 0 10px}.card p{color:var(--muted);line-height:1.55;margin:0}
.pagehero{padding:80px 0 55px;text-align:center}.pagehero h1{font-size:clamp(52px,7vw,94px);line-height:.92;max-width:1050px;margin:18px auto 24px;text-align:center}.service,.project{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;padding:50px 0 70px;border-top:1px solid rgba(50,101,132,.3);text-align:center}.service:nth-child(even) .media{order:2}.media{border-radius:24px;overflow:hidden;border:1px solid var(--line);background:#0a1722}.media img,.media video{display:block;width:100%;height:390px;object-fit:cover}.service h2,.project h2{font-size:clamp(36px,4.5vw,62px);line-height:1;margin:8px auto 18px;letter-spacing:-.04em}.service p,.service li,.project p{color:#c5d1da;line-height:1.65}.service ul{display:inline-block;text-align:left;margin:0 auto;padding-left:20px}.project .media img,.project .media video{height:430px}.manifesto{font-size:clamp(54px,8vw,120px);line-height:.86;letter-spacing:-.065em;margin:20px auto 45px;max-width:1200px;text-align:center}.manifesto span{color:var(--cyan)}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.value{padding:28px;border:1px solid var(--line);border-radius:22px;background:rgba(9,23,35,.88);text-align:center}.value b{display:block;color:var(--cyan);margin-bottom:10px}.value h3{font-size:28px;margin:0 0 12px}.value p{color:var(--muted);line-height:1.55}
.footer{padding:35px 0 50px;color:#8da2b1;border-top:1px solid rgba(50,101,132,.3);font-size:13px;background:rgba(3,12,24,.58);text-align:center}.footer .wrap{display:flex;justify-content:center;align-items:center;gap:24px;flex-wrap:wrap;text-align:center}.footer-brand{display:inline-flex;align-items:center;justify-content:center;line-height:1.2}.footer-legal{display:inline-flex;align-items:center;justify-content:center;line-height:1.2;white-space:nowrap;margin:0;padding:0}

/* SofiaApp demo: show the complete 16:9 video without cropping */
.project .sofia-media{background:#02060b;aspect-ratio:910/512;display:flex;align-items:center;justify-content:center}
.project .sofia-media video{width:100%;height:100%;object-fit:contain!important;object-position:center center;background:#02060b}

/* CONTACT: pure 100% video, no copy, no shade, no blur/opacity */
body.contact-page{background:#000}body.contact-page .cyber-bg{z-index:0}body.contact-page .cyber-bg video{opacity:1;filter:none;transform:none;object-position:center center}body.contact-page .cyber-shade,body.contact-page header,body.contact-page footer{display:none!important}body.contact-page main.contact{position:fixed;inset:0;z-index:1;min-height:100vh;background:transparent;pointer-events:none}
@media(max-width:760px){.nav{height:68px}.menu{gap:12px;font-size:12px}.brand{font-size:17px}.menu a{display:inline-block}.hero{min-height:calc(100svh - 68px);padding:42px 4vw 56px}.hero h1{font-size:clamp(54px,16vw,88px);line-height:.89}.grid,.service,.project,.values{grid-template-columns:1fr}.service:nth-child(even) .media{order:0}.card img,.media img,.media video,.project .media img,.project .media video{height:auto;aspect-ratio:16/10;object-fit:cover}.project .sofia-media{aspect-ratio:910/512}.project .sofia-media video{height:100%;aspect-ratio:auto;object-fit:contain!important}.section{padding:62px 0}.pagehero{padding:62px 0 42px}.pagehero h1{font-size:clamp(48px,15vw,76px)}.manifesto{font-size:clamp(52px,16vw,82px)}.cyber-bg video{object-position:58% center;opacity:.92;filter:blur(2.5px) brightness(.88) saturate(1.05);transform:scale(1.03)}body.contact-page .cyber-bg video{object-position:center center;opacity:1;filter:none;transform:none}}



/* Exact AIVEVIA wordmark from the approved reference image */
.brand-logo{display:inline-flex;align-items:center;flex:0 0 auto;line-height:0}
.brand-logo img{display:block;width:230px;height:auto;max-height:64px;object-fit:contain;object-position:left center}
.footer-logo-image{display:inline-block;width:158px;height:auto;vertical-align:middle;margin-right:8px}
@media(max-width:760px){.brand-logo img{width:150px;max-height:48px}.footer-logo-image{width:130px}}

/* Contact experience: 100% visible video only, modal on click */
body.contact-page{margin:0;background:#000;overflow:hidden}
.contact-video-stage{position:fixed;inset:0;background:#000;cursor:pointer;z-index:1}
.contact-video-stage video{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center center;opacity:1!important;filter:none!important;transform:none!important;background:#000}
.contact-home{position:fixed;right:max(22px,env(safe-area-inset-right));top:max(18px,env(safe-area-inset-top));z-index:12;width:46px;height:46px;border:1px solid rgba(255,255,255,.7);border-radius:999px;background:rgba(0,8,17,.42);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:grid;place-items:center;color:#fff;font-size:32px;font-weight:200;line-height:1;transition:.2s}
.contact-home:hover{background:rgba(67,200,255,.22);border-color:var(--cyan)}
.contact-trigger{position:absolute;left:50%;bottom:max(42px,calc(env(safe-area-inset-bottom) + 24px));transform:translateX(-50%);z-index:3;border:1px solid rgba(110,215,255,.9);border-radius:999px;padding:14px 27px;background:rgba(3,14,24,.48);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;font:700 16px "Segoe UI",Arial,sans-serif;box-shadow:0 0 28px rgba(67,200,255,.15);cursor:pointer}
.contact-trigger:hover,.contact-trigger:focus-visible{background:rgba(67,200,255,.23);outline:none;box-shadow:0 0 0 3px rgba(67,200,255,.20)}
.contact-modal[hidden]{display:none}
.contact-modal{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:24px;background:rgba(0,5,12,.64);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);opacity:0;transition:opacity .18s ease}
.contact-modal.open{opacity:1}
.contact-modal-panel{position:relative;width:min(760px,96vw);max-height:min(820px,92svh);overflow:auto;border:1px solid rgba(86,195,244,.34);border-radius:28px;padding:34px;background:linear-gradient(145deg,rgba(5,18,30,.97),rgba(2,10,18,.98));box-shadow:0 30px 90px rgba(0,0,0,.55);transform:translateY(12px) scale(.99);transition:transform .18s ease;text-align:center}
.contact-modal.open .contact-modal-panel{transform:none}
.contact-modal-close{position:absolute;right:18px;top:14px;border:0;background:transparent;color:#fff;font-size:34px;line-height:1;cursor:pointer}
.contact-modal-logo{width:185px;height:auto;margin:2px auto 22px}
.contact-modal h1{margin:0 0 26px;font-size:clamp(30px,5vw,48px);line-height:1.05;letter-spacing:-.035em}
.contact-form{text-align:left}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form label{display:block;margin:0 0 16px;color:#e8f1f7;font-size:14px;font-weight:600}.contact-form label span{font-weight:400;color:#9cb0bf}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;margin-top:7px;border:1px solid rgba(110,180,218,.28);border-radius:14px;padding:13px 14px;background:#06131f;color:#fff;font:inherit;outline:none}.contact-form textarea{resize:vertical;min-height:120px}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(67,200,255,.12)}
.privacy-check{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important}.privacy-check input{width:auto;margin:3px 0 0;accent-color:var(--cyan)}.contact-submit{border:0;cursor:pointer;margin-top:4px}.contact-form-status{min-height:22px;margin:14px 0 0;color:#a8dfff;font-size:13px}.modal-open{overflow:hidden}
@media(max-width:650px){.contact-modal{padding:12px}.contact-modal-panel{padding:28px 18px 22px;border-radius:22px;max-height:94svh}.field-row{grid-template-columns:1fr}.contact-modal-logo{width:155px}.contact-trigger{bottom:max(26px,calc(env(safe-area-inset-bottom) + 16px));padding:13px 22px}.contact-video-stage video{object-position:center center}}


/* Compact language selector: intentionally restrained and consistent with the existing UI */
.nav-right{display:flex;align-items:center;gap:22px;min-width:0}
.language-switcher{display:flex;align-items:center;gap:6px;white-space:nowrap}
.language-switcher a{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border:1px solid transparent;border-radius:999px;color:#aebfca;font-size:11px;font-weight:700;letter-spacing:.04em;line-height:1;transition:.18s ease}
.language-switcher a:hover,.language-switcher a:focus-visible{color:#fff;border-color:rgba(67,200,255,.42);outline:none}
.language-switcher a.active{color:#fff;border-color:rgba(67,200,255,.72);background:rgba(67,200,255,.10)}
.language-switcher img{width:16px;height:11px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,.14)}
.contact-language-switcher{position:fixed;left:max(18px,env(safe-area-inset-left));top:max(18px,env(safe-area-inset-top));z-index:12;padding:5px 6px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(0,8,17,.38);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
@media(max-width:760px){
  .nav{gap:10px}
  .nav-right{gap:10px}
  .menu{gap:10px}
  .language-switcher{position:absolute;right:0;top:72px;padding:5px 6px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(3,12,24,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
  .contact-language-switcher{position:fixed;left:max(14px,env(safe-area-inset-left));top:max(14px,env(safe-area-inset-top))}
  .contact-language-switcher.language-switcher{right:auto;padding:5px 6px}
}

@media(max-width:760px){
  .footer{padding:30px 0 38px}
  .footer .wrap{flex-direction:column;align-items:center;justify-content:center;gap:12px}
  .footer-brand,.footer-legal{width:100%;text-align:center;justify-content:center}
}

.contact-direct-email{
  margin-top:10px;
  font-size:.92rem;
  color:var(--muted,#b9c4d0);
}
.contact-direct-email a{
  color:var(--accent,#43c8ff);
  text-decoration:none;
}
.contact-direct-email a:hover,
.contact-direct-email a:focus{
  text-decoration:underline;
}
.contact-submit:disabled{
  opacity:.6;
  cursor:wait;
}
