/* HIAI ProcessWire integration layer. Original visual CSS remains in original.css. */
[hidden]{display:none!important}
body{padding-top:0}
.header{position:fixed!important;top:0;left:0;right:0;z-index:1000}
section[id]{scroll-margin-top:120px}
.skip-link{position:fixed;left:12px;top:-70px;z-index:10002;padding:8px 16px;background:#51f5ff;color:#091525}.skip-link:focus{top:12px}
.hiai-header-logo{height:40px;width:auto;display:block}
.header-center>a{display:flex;align-items:center;justify-content:center}
button.hamburger{border:0;background:transparent}
/* O HIAI: headline intentionally crosses the circle; orbit lines use the HIAI cyan */
.about-top{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:76px;max-width:1320px;padding:105px 50px}
.turkus-circle{width:300px;height:300px}
.circle-text{white-space:normal;width:680px;max-width:none;font-size:36px;line-height:1;letter-spacing:-.02em;display:flex;flex-direction:column;align-items:center;gap:10px}.circle-primary{display:flex;flex-direction:column;align-items:center;line-height:.82}.circle-primary span{display:block}.circle-plus{display:block;line-height:.9}.circle-ai{display:block;line-height:1.02}
.floating-circles{height:300px}
.floating-circle{width:300px;height:300px;border:2.5px solid #51f5ff;opacity:.58}
.about-text{max-width:560px}
.about-text p{margin-bottom:24px}
.about-text .about-lead{margin-bottom:26px}

.hero-stage{width:100%;height:100%;position:relative;overflow:hidden}.hero-stage .hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .38s ease,visibility 0s linear .38s}.hero-stage .hero-video.is-active{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .38s ease}
.hero-tools{position:absolute;left:50%;bottom:20px;z-index:6;transform:translateX(-50%);display:flex;justify-content:center;align-items:center;pointer-events:none}.hero-controls-panel{display:flex;align-items:center;gap:12px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:auto}.hero-switcher,.hero-buttons{display:flex;align-items:center}.hero-switcher{gap:6px}.hero-switch{width:30px;height:30px;padding:0;border:0;border-radius:50%;background:transparent;display:grid;place-items:center;cursor:pointer}.hero-dot{width:11px;height:11px;border:1.5px solid #51f5ff;border-radius:50%;background:transparent;box-shadow:0 0 8px rgba(81,245,255,.14);transition:background .2s ease,transform .2s ease,box-shadow .2s ease}.hero-switch:hover .hero-dot,.hero-switch:focus-visible .hero-dot{transform:scale(1.18);box-shadow:0 0 14px rgba(81,245,255,.42)}.hero-switch:focus-visible{outline:1px solid rgba(81,245,255,.55);outline-offset:2px}.hero-switch.is-active .hero-dot{background:#51f5ff;box-shadow:0 0 12px rgba(81,245,255,.55)}.hero-control-separator{width:1px;height:22px;background:rgba(81,245,255,.28)}.hero-buttons{gap:7px}.hero-icon-button{width:38px;height:38px;padding:0;border:1px solid rgba(81,245,255,.68);border-radius:50%;background:transparent;color:#51f5ff;display:grid;place-items:center;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.hero-icon-button:hover,.hero-icon-button:focus-visible{border-color:#51f5ff;background:transparent;box-shadow:0 0 14px rgba(81,245,255,.28);outline:none}.hero-icon-button:active{transform:scale(.96)}.hero-icon{width:18px;height:18px;fill:currentColor;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.hero-icon-pause{fill:none;stroke-width:3}.hero-icon-sound,.hero-icon-muted{fill:none}.hero-icon-play,.hero-icon-muted{display:none}.hero-icon-button.is-paused .hero-icon-pause{display:none}.hero-icon-button.is-paused .hero-icon-play{display:block}.hero-icon-button.is-muted .hero-icon-sound{display:none}.hero-icon-button.is-muted .hero-icon-muted{display:block}
.services-heading{text-align:center;font:600 20px 'Oxanium',sans-serif;color:#51f5ff;letter-spacing:1px;margin-bottom:24px;position:relative;z-index:2}
.services-grid{align-items:start}.service-icon{border:0;cursor:pointer;background:transparent}.service-label{display:block;font:500 12px/1.4 'Oxanium',sans-serif;color:#51f5ff;margin-top:12px;max-width:180px}.service-description{display:block;max-width:190px;margin-top:7px;color:#fff;font:400 11px/1.4 'Nunito',sans-serif;opacity:.82}.service-icon[aria-pressed=true]{outline:1px solid #51f5ff;outline-offset:8px;border-radius:8px}.service-icon-fallback{display:block;width:68px;height:68px;border:1px solid #51f5ff;border-radius:50%;box-shadow:0 0 20px rgba(81,245,255,.18)}
.work-heading{position:relative;z-index:2;max-width:1160px;margin:0 auto;padding:50px 20px 30px}.work-heading h2,.people-inner h2{font:600 28px/1.3 'Oxanium',sans-serif}.filter-state{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:18px}.text-button{border:0;background:none;color:#008ba8;text-decoration:underline;text-underline-offset:4px;font:600 13px 'Nunito',sans-serif;cursor:pointer}.text-button.active{color:#091525}.project-type{font:600 11px/1.4 'Oxanium',sans-serif;letter-spacing:1px;color:#008ba8;margin-bottom:10px}.project-open{display:inline-block;color:#008ba8;font:600 12px 'Oxanium',sans-serif;text-decoration:none;margin-top:18px}.project-cover-placeholder{width:100%;height:100%;min-height:340px;background:#091525;color:#51f5ff;display:flex;align-items:center;justify-content:center;text-align:center;padding:30px;font:600 24px 'Oxanium',sans-serif}.work-empty{padding:50px 20px;text-align:center;max-width:900px;margin:auto}
.people-section{background:#fff;padding:70px 40px}.people-inner{max-width:1100px;margin:auto}.people-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:60px;margin-top:32px}.person{padding-left:25px;border-left:5px solid #51f5ff}.person img{width:140px;height:140px;object-fit:cover;border-radius:50%;margin-bottom:14px}.person h3{font:600 22px/1.3 'Oxanium',sans-serif}.person-role{font:600 12px/1.5 'Oxanium',sans-serif;color:#008ba8;margin:8px 0 14px}.person p:not(.person-role){font-size:16px;white-space:pre-line}
.hiai-contact{position:relative}.hiai-contact-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:30px;align-items:end;padding:80px 40px}.hiai-contact .contact-container{padding:0;max-width:none}.hiai-contact h3{font:600 20px 'Oxanium',sans-serif;margin:10px 0 15px}.hiai-contact-form fieldset{border:0;margin:22px 0;display:grid;gap:8px}.hiai-contact-form fieldset label{display:block}.hiai-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hiai-form-grid label{display:flex;flex-direction:column;gap:6px;font-size:12px}.hiai-form-grid .full{grid-column:1/-1}.hiai-form-grid input,.hiai-form-grid textarea{width:100%;border:1px solid rgba(81,245,255,.55);background:rgba(255,255,255,.06);color:#fff;border-radius:8px;padding:10px 12px;font:inherit}.staging-form-note{font-size:11px;margin:15px 0}.staging-form-note a{color:#51f5ff}.hiai-contact-form .contact-cta[disabled]{opacity:.45;cursor:not-allowed}.nd-contact{position:relative;min-height:520px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.nd-contact img{max-width:100%;max-height:600px;object-fit:contain;display:block}.nd-finger-glow{position:absolute;width:80px;height:80px;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);opacity:0;background:radial-gradient(circle,rgba(81,245,255,.95) 0,rgba(81,245,255,.35) 25%,rgba(81,245,255,0) 70%);filter:blur(5px);transition:opacity .15s}.nd-finger-glow.active{opacity:1}
.footer-disclosure,.legal-pending{max-width:900px;margin-left:auto;margin-right:auto}.legal-pending{font-size:10px;opacity:.65}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Project page */
.hiai-project-page{padding-top:125px;min-height:80vh;background:#fff;color:#091525}.project-return{max-width:1180px;margin:0 auto;padding:25px 30px}.project-return a{color:#008ba8;text-decoration:none;font:600 12px 'Oxanium',sans-serif}.project-page-header{max-width:980px;margin:0 auto;padding:35px 30px 45px}.project-page-header h1{font:600 clamp(38px,6vw,78px)/1.05 'Oxanium',sans-serif;margin:8px 0 18px}.project-page-header>p{font-size:20px;max-width:780px}.project-categories{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.project-categories span{border:1px solid #008ba8;border-radius:999px;padding:6px 10px;font-size:10px}.project-main-cover{margin:0 auto 60px;max-width:1400px;padding:0 30px}.project-main-cover img{width:100%;max-height:82vh;object-fit:contain;display:block}.project-media-list{max-width:1400px;margin:auto;padding:0 30px}.project-media-block{margin:0 auto 70px}.project-media-block video,.project-media-block iframe,.project-media-block img{max-width:100%;display:block}.project-media-block video{width:100%;max-height:85vh;background:#091525}.project-media-block iframe{width:100%;aspect-ratio:16/9;border:0}.project-media-block figcaption{font-size:12px;color:#586875;margin-top:10px}.project-image-set{display:grid;gap:16px}.layout-1 .project-image-set{grid-template-columns:1fr}.layout-3 .project-image-set{grid-template-columns:minmax(0,420px);justify-content:center}.layout-4 .project-image-set{grid-template-columns:repeat(2,minmax(0,1fr))}.layout-5 .project-image-set{grid-template-columns:repeat(3,minmax(0,1fr))}.layout-6 .project-image-set{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.layout-7{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}.layout-7 .project-image-set{grid-column:2}.layout-7 .project-media-text{grid-column:1;grid-row:1}.project-image-set img{width:100%;height:auto;object-fit:cover}.layout-3 .project-image-set img,.layout-5 .project-image-set img{aspect-ratio:9/16;object-fit:cover}.project-media-text,.project-text-block{font-size:18px;line-height:1.65;max-width:900px}.external-video-gate{min-height:360px;background:#091525;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.external-video-gate button{border:1px solid #51f5ff;background:transparent;color:#51f5ff;border-radius:999px;padding:12px 20px;font:600 12px 'Oxanium',sans-serif;cursor:pointer}.external-video-gate a{color:#51f5ff;font-size:12px}.project-details{max-width:980px;margin:40px auto 80px;padding:0 30px;display:grid;grid-template-columns:1fr 1fr;gap:60px}.project-details h2{font:600 16px 'Oxanium',sans-serif;margin-bottom:12px}.project-details p{white-space:pre-line}.project-cta{background:#091525;color:#fff;text-align:center;padding:70px 30px}.project-cta h2{font:600 28px 'Oxanium',sans-serif;margin-bottom:18px}.project-cta a{display:inline-block;border:1px solid #51f5ff;color:#51f5ff;border-radius:999px;padding:12px 22px;text-decoration:none}
@media(max-width:900px){.about-top{grid-template-columns:1fr;gap:34px;padding:52px 15px}.turkus-circle{width:200px;height:200px}.floating-circles{height:200px}.floating-circle{width:200px;height:200px;border-width:2px}.circle-text{width:350px;max-width:94vw;font-size:21px;line-height:1}.circle-primary{line-height:.84}.circle-text{gap:7px}.about-text{max-width:620px}section[id]{scroll-margin-top:80px}.hiai-contact-grid{grid-template-columns:1fr;padding:55px 24px}.nd-contact{min-height:300px;max-height:420px}.hiai-form-grid{grid-template-columns:1fr}.people-grid{grid-template-columns:1fr;gap:32px}.service-description{max-width:150px}.project-page-header{padding-top:20px}.project-details{grid-template-columns:1fr;gap:30px}.layout-4 .project-image-set,.layout-5 .project-image-set,.layout-7{grid-template-columns:1fr}.layout-7 .project-image-set,.layout-7 .project-media-text{grid-column:auto;grid-row:auto}.hero-tools{left:50%;right:auto;bottom:10px}.hero-controls-panel{gap:9px;padding:6px 8px;border-radius:12px}.hero-switch{width:28px;height:28px}.hero-dot{width:10px;height:10px}.hero-icon-button{width:36px;height:32px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* v0.3.4: unified main section headings */
.services-heading,
.work-heading h2,
.people-inner > h2,
.hiai-contact .contact-title {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  color: #51f5ff;
  font-family: 'Oxanium', sans-serif;
  font-size: 36px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -.02em;
}

@media(max-width:900px){
  .services-heading,
  .work-heading h2,
  .people-inner > h2,
  .hiai-contact .contact-title {
    font-size: 21px;
    line-height: 1;
  }
}


/* v0.3.5: CONTACT heading spans the whole section; ND sits below it */
.hiai-contact-head{
  position:relative;
  z-index:2;
  max-width:1200px;
  margin:0 auto;
  padding:80px 40px 0;
}
.hiai-contact-grid{
  padding-top:42px;
}
@media(max-width:900px){
  .hiai-contact-head{padding:55px 24px 0;}
  .hiai-contact-grid{padding-top:32px;}
}

/* v0.4.0: SERVICES — 4+3 centered desktop layout, larger icons, progressive descriptions */
.about-bottom{
  background:#091525;
  padding:82px 40px 88px;
}
.services-heading{
  margin-bottom:52px;
}
.services-grid{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:flex-start;
  column-gap:22px;
  row-gap:24px;
  max-width:1240px;
  margin:0 auto;
  padding:0 16px;
  position:relative;
  z-index:2;
}
.service-card{
  position:relative;
  flex:0 1 calc((100% - 66px)/4);
  max-width:275px;
  min-width:0;
  min-height:302px;
  text-align:center;
}
.service-filter{
  width:100%;
  border:0;
  padding:0 8px;
  margin:0;
  background:transparent;
  color:inherit;
  cursor:default;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  transition:transform .28s ease;
}
.service-filter:focus-visible{
  outline:2px solid #51f5ff;
  outline-offset:4px;
}
.service-icon-img{
  width:182px!important;
  height:182px!important;
  max-width:182px!important;
  max-height:182px!important;
  object-fit:contain;
  display:block;
  margin:0 auto;
  transition:filter .28s ease,transform .28s ease;
}
.service-icon-fallback{
  width:150px;
  height:150px;
  margin:16px auto;
  border:2.5px solid #51f5ff;
  border-radius:50%;
  box-shadow:0 0 22px rgba(81,245,255,.14);
}
.service-label{
  display:block;
  max-width:235px;
  margin:10px auto 0;
  color:#51f5ff;
  font:600 13px/1.28 'Oxanium',sans-serif;
  letter-spacing:.01em;
  text-transform:uppercase;
}
.service-description{
  max-width:235px;
  min-height:58px;
  margin:11px auto 0;
  color:#fff;
  font:400 12px/1.42 'Nunito',sans-serif;
  opacity:0;
  transform:translateY(6px);
  transition:opacity .24s ease,transform .24s ease;
  pointer-events:none;
}
.service-card:hover .service-description,
.service-card:focus-within .service-description{
  opacity:.86;
  transform:translateY(0);
}
.service-expand{
  display:none;
}

@media(max-width:900px){
  .about-bottom{padding:48px 15px 58px;}
  .services-heading{margin-bottom:32px;}
  .services-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:28px 14px;
    padding:0;
    max-width:620px;
  }
  .service-card{
    max-width:none;
    min-height:0;
    width:100%;
  }
  .service-filter{padding:0 4px;}
  .service-icon-img{
    width:112px!important;
    height:112px!important;
    max-width:112px!important;
    max-height:112px!important;
  }
  .service-icon-fallback{
    width:96px;
    height:96px;
    margin:8px auto;
  }
  .service-label{
    max-width:170px;
    margin-top:8px;
    font-size:11px;
    line-height:1.3;
  }
  .service-description{
    max-width:170px;
    min-height:0;
    max-height:0;
    overflow:hidden;
    margin-top:0;
    opacity:0;
    transform:none;
    font-size:11px;
    transition:max-height .28s ease,opacity .22s ease,margin-top .28s ease;
  }
  .service-card:hover .service-description,
  .service-card:focus-within .service-description{
    opacity:0;
  }
  .service-card.is-open .service-description,
  .service-card.is-open:hover .service-description,
  .service-card.is-open:focus-within .service-description{
    max-height:150px;
    margin-top:9px;
    opacity:.86;
  }
  .service-expand{
    width:26px;
    height:26px;
    border:1px solid rgba(81,245,255,.55);
    border-radius:50%;
    padding:0;
    margin:8px auto 0;
    background:transparent;
    display:grid;
    place-items:center;
    cursor:pointer;
  }
  .service-expand span,
  .service-expand span::after{
    content:"";
    display:block;
    width:10px;
    height:1.5px;
    border-radius:999px;
    background:#51f5ff;
    transition:transform .2s ease;
  }
  .service-expand span{position:relative;}
  .service-expand span::after{position:absolute;inset:0;transform:rotate(90deg);}
  .service-card.is-open .service-expand span::after{transform:rotate(0deg);}
}


/* v0.4.1: SERVICES — 6 items in one centered desktop row */
@media(min-width:901px){
  .services-grid{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:18px;
    max-width:1320px;
    padding:0 12px;
  }
  .service-card{
    width:100%;
    max-width:none;
    min-height:302px;
  }
  .service-icon-img{
    width:176px!important;
    height:176px!important;
    max-width:176px!important;
    max-height:176px!important;
  }
  .service-label,
  .service-description{
    max-width:190px;
  }
}

/* v0.4.2: unified HIAI navy + alternating section backgrounds */
:root{--hiai-navy:#091525;}
.header{background:var(--hiai-navy)!important;}
.dropdown{background:rgba(9,21,37,.82)!important;}
.slider-section,.animation-placeholder{background:var(--hiai-navy)!important;}
.about-bottom{background:var(--hiai-navy)!important;}

/* REALIZACJE stays light */
.work-section{background:#fff!important;color:var(--hiai-navy);}

/* LUDZIE: navy with the same quiet star animation used in Services */
.people-section{position:relative;overflow:hidden;background:var(--hiai-navy)!important;color:#fff;padding:70px 40px;}
.people-section .stars-animation{display:block;}
.people-inner{position:relative;z-index:2;}
.people-inner>h2{color:#51f5ff;}
.person h3,.person p:not(.person-role){color:#fff;}
.person-role{color:#51f5ff!important;}

/* KONTAKT: light section in the alternating rhythm */
.contact-section.hiai-contact{background:#fff!important;color:var(--hiai-navy);}
.contact-section.hiai-contact>.stars-animation{display:none!important;}
.hiai-contact .contact-title{color:#51f5ff;}
.hiai-contact h3,.hiai-contact .contact-description,.hiai-contact-form label,.staging-form-note{color:var(--hiai-navy);}
.hiai-form-grid input,.hiai-form-grid textarea{
  background:#fff;
  color:var(--hiai-navy);
  border-color:rgba(0,139,168,.45);
}
.hiai-form-grid input::placeholder,.hiai-form-grid textarea::placeholder{color:rgba(9,21,37,.5);}
.staging-form-note a{color:#008ba8;}

/* Other dark UI surfaces use the same navy */
.project-cover-placeholder,.external-video-gate,.project-cta,.project-modal{background:var(--hiai-navy)!important;}
.cookie-banner{background:rgba(9,21,37,.95)!important;}

@media(max-width:900px){.people-section{padding:55px 24px;}}


/* v0.5.0 — optional animated portfolio covers */
.project-image-link{display:block;width:100%;height:100%;min-height:inherit;overflow:hidden}
.project-cover-video{display:block;width:100%;height:100%;min-height:inherit;object-fit:cover}
.image-frame:hover .project-cover-video{outline:2px solid #51f5ff;outline-offset:-2px}
@media (prefers-reduced-motion: reduce){.project-cover-video{display:none}.project-image-link:has(.project-cover-video){background:#091525}}

/* v0.6.0 — unified 01 motif, tighter section rhythm, cleaner project pages */
:root{
  --hiai-orbit-size:300px;
  --hiai-orbit-stroke:2.5px;
}

/* One consistent 01 motif across the site */
.turkus-circle{
  width:var(--hiai-orbit-size)!important;
  height:var(--hiai-orbit-size)!important;
}
.floating-circles,
.portfolio-floating-circles{
  height:var(--hiai-orbit-size)!important;
}
.floating-circle,
.portfolio-floating-circle,
.work-section-floating-circle{
  width:var(--hiai-orbit-size)!important;
  height:var(--hiai-orbit-size)!important;
  border:var(--hiai-orbit-stroke) solid #51f5ff!important;
  opacity:.58!important;
}
@media(min-width:901px){
  .connecting-rectangle{
    height:var(--hiai-orbit-size)!important;
    background:#51f5ff!important;
    border-radius:15px!important;
  }
}

/* Tighter vertical rhythm between sections and their headings */
.about-bottom{padding-top:50px!important;padding-bottom:70px!important;}
.services-heading{margin-top:0!important;margin-bottom:44px!important;}
.work-section{padding-top:0!important;}
.work-heading{padding-top:36px!important;padding-bottom:24px!important;}
.work-heading h2,.people-inner>h2,.hiai-contact .contact-title{margin-top:0!important;}
.people-section{padding-top:46px!important;padding-bottom:64px!important;}
.contact-section.hiai-contact{padding:0!important;}
.hiai-contact-head{padding-top:30px!important;}
.hiai-contact-grid{padding-top:24px!important;}

/* Project detail page: hierarchy aligned with the main site */
.project-view .spiral{display:none!important;}
.project-page-header{padding-top:24px;padding-bottom:34px;}
.project-page-header h1{
  font:600 36px/1.08 'Oxanium',sans-serif!important;
  letter-spacing:-.02em;
  margin:8px 0 18px!important;
}
.project-page-header>p{font-size:18px;line-height:1.55;max-width:820px;}
.project-categories{display:none!important;}

/* Cover becomes the actual play surface for external video */
.external-video-shell{width:100%;}
.external-video-gate{
  position:relative;
  width:100%;
  min-height:0!important;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#091525!important;
  display:grid!important;
  place-items:center;
}
.external-video-poster{
  position:absolute;
  inset:0;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover;
  z-index:0;
}
.external-video-shade{
  position:absolute;
  inset:0;
  z-index:1;
  background:radial-gradient(circle at center,rgba(9,21,37,.04) 0,rgba(9,21,37,.12) 48%,rgba(9,21,37,.28) 100%);
  transition:background .25s ease;
}
.external-video-gate:hover .external-video-shade{background:radial-gradient(circle at center,rgba(9,21,37,0) 0,rgba(9,21,37,.08) 50%,rgba(9,21,37,.22) 100%);}
.external-video-play{
  position:relative;
  z-index:2;
  width:74px;
  height:74px;
  padding:0!important;
  border:2px solid #51f5ff!important;
  border-radius:50%!important;
  background:rgba(9,21,37,.34)!important;
  color:#51f5ff!important;
  display:grid!important;
  place-items:center;
  cursor:pointer;
  box-shadow:0 0 22px rgba(81,245,255,.16);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.external-video-play:hover,.external-video-play:focus-visible{
  transform:scale(1.06);
  background:rgba(9,21,37,.5)!important;
  box-shadow:0 0 28px rgba(81,245,255,.32);
  outline:none;
}
.external-video-play svg{width:28px;height:28px;fill:currentColor;transform:translateX(2px);}
.external-video-shell>iframe{display:block;width:100%;aspect-ratio:16/9;border:0;}
.video-caption-help{
  margin:10px 0 0;
  color:#586875;
  font:400 12px/1.45 'Nunito',sans-serif;
}

@media(max-width:900px){
  :root{
    --hiai-orbit-size:200px;
    --hiai-orbit-stroke:2px;
  }
  .about-bottom{padding-top:38px!important;padding-bottom:52px!important;}
  .work-heading{padding-top:30px!important;padding-bottom:20px!important;}
  .people-section{padding-top:38px!important;padding-bottom:50px!important;}
  .hiai-contact-head{padding-top:24px!important;}
  .hiai-contact-grid{padding-top:20px!important;}
  .project-page-header h1{font-size:21px!important;line-height:1.1!important;}
  .project-page-header>p{font-size:16px;}
  .external-video-play{width:58px;height:58px;}
  .external-video-play svg{width:22px;height:22px;}
}

/* v0.6.1 — short description only on homepage; lighter HIAI Scope heading */
.project-scope h2{font-weight:400!important;}

/* v0.6.2 — lighter, technical HIAI Scope block */
.project-scope{
  font-size:15px;
  line-height:1.65;
  font-weight:300;
  color:rgba(9,21,37,.72);
}
.project-scope h2{
  font-weight:300!important;
  letter-spacing:.04em;
  color:rgba(9,21,37,.78);
}
@media(max-width:900px){
  .project-scope{font-size:14px;}
}

/* v0.6.3 — centered project header */
.project-page-header{
  text-align:center;
}
.project-page-header .project-type{
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}
.project-page-header h1{
  text-align:center;
  max-width:980px;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* v0.7.6 — calmer Services + simplified supporting typography */
:root{
  --hiai-meta-size:14px;
  --hiai-copy-size:16px;
}

/* SERVICES: lighter visual weight, transparent cyan-framed icons */
@media(min-width:901px){
  .service-card{min-height:258px;}
  .service-icon-img{
    width:142px!important;
    height:142px!important;
    max-width:142px!important;
    max-height:142px!important;
  }
}
.service-icon-img{
  background:transparent!important;
  transform:translateY(0) scale(1);
  filter:none;
  transition:transform .22s ease,filter .22s ease;
}
.service-label{
  max-width:205px;
  margin-top:10px;
  font-size:15px;
  line-height:1.28;
  letter-spacing:0;
}
.service-description{
  max-width:205px;
  font-size:14px;
  line-height:1.42;
}

/* PROJECTS: one calmer secondary-text scale */
.project-type,
.project-open,
.text-button,
.project-return a{
  font-size:var(--hiai-meta-size)!important;
}
.project-type{
  line-height:1.3!important;
  letter-spacing:.045em!important;
  margin-bottom:9px;
}
.project-open{letter-spacing:0;}
.text-frame p{
  font-size:var(--hiai-copy-size)!important;
  line-height:1.55!important;
}

/* Header CTA uses the same family as body copy */
.lets-talk{
  font-family:'Nunito',sans-serif!important;
  font-size:15px!important;
  font-weight:600!important;
  letter-spacing:0!important;
}

@media(max-width:900px){
  .service-icon-img{
    width:104px!important;
    height:104px!important;
    max-width:104px!important;
    max-height:104px!important;
  }
  .service-label{
    max-width:175px;
    font-size:13px;
    line-height:1.28;
  }
  .service-description{
    max-width:175px;
    font-size:13px;
    line-height:1.42;
  }
  .project-type,
  .project-open,
  .text-button,
  .project-return a{
    font-size:13px!important;
  }
  .text-frame p{font-size:16px!important;}
}

/* v0.7.7 — unified typography system
   Desktop: 36 / 28 / 22 / 16 / 12
   Mobile:  22 / 20 / 18 / 16 / 12
*/

/* 36 px — main section titles / project page title */
.circle-text,
.services-heading,
.work-heading h2,
.people-inner > h2,
.hiai-contact .contact-title,
.project-page-header h1 {
  font-size:36px!important;
}

/* 28 px — homepage project titles / large project CTA */
.text-frame h3,
.project-cta h2 {
  font-size:28px!important;
}

/* 22 px — internal headings / people names */
.person h3,
.hiai-contact h3,
.project-details h2 {
  font-size:22px!important;
}

/* 16 px — primary copy, service names/descriptions, categories, links and metadata */
.about-text p,
.service-label,
.service-description,
.text-button,
.project-type,
.project-open,
.project-return a,
.text-frame p,
.person-role,
.person p:not(.person-role),
.hiai-contact .contact-description,
.hiai-contact-form fieldset label,
.hiai-form-grid label,
.hiai-form-grid input,
.hiai-form-grid textarea,
.hiai-contact-form .contact-cta,
.project-page-header > p,
.project-details p,
.project-scope,
.project-media-text,
.project-text-block,
.project-cta a,
.dropdown a,
.lang-option,
.lets-talk {
  font-size:16px!important;
}

/* keep the lighter technical treatment of HIAI Scope without shrinking it */
.project-scope {
  font-weight:300;
  line-height:1.65;
  color:rgba(9,21,37,.72);
}
.project-scope h2 {
  font-weight:300!important;
}

/* 12 px — helper copy, top-bar tagline, captions, footer/legal */
.header-text,
.video-caption-help,
.project-media-block figcaption,
.staging-form-note,
.footer-text,
.footer a,
.footer-disclosure,
.legal-pending {
  font-size:12px!important;
}

/* Say hi! uses the body-copy family */
.lets-talk {
  font-family:'Nunito',sans-serif!important;
  font-weight:600!important;
  letter-spacing:0!important;
}

@media(max-width:900px){
  /* 22 px — main titles */
  .circle-text,
  .services-heading,
  .work-heading h2,
  .people-inner > h2,
  .hiai-contact .contact-title,
  .project-page-header h1 {
    font-size:22px!important;
  }

  /* 20 px — homepage project titles / large CTA */
  .text-frame h3,
  .project-cta h2 {
    font-size:20px!important;
  }

  /* 18 px — internal headings / people names */
  .person h3,
  .hiai-contact h3,
  .project-details h2 {
    font-size:18px!important;
  }

  /* 16 px — all primary copy and interactive text */
  .about-text p,
  .service-label,
  .service-description,
  .text-button,
  .project-type,
  .project-open,
  .project-return a,
  .text-frame p,
  .person-role,
  .person p:not(.person-role),
  .hiai-contact .contact-description,
  .hiai-contact-form fieldset label,
  .hiai-form-grid label,
  .hiai-form-grid input,
  .hiai-form-grid textarea,
  .hiai-contact-form .contact-cta,
  .project-page-header > p,
  .project-details p,
  .project-scope,
  .project-media-text,
  .project-text-block,
  .project-cta a,
  .dropdown a,
  .lang-option,
  .lets-talk {
    font-size:16px!important;
  }

  /* 12 px — helper / legal / top-bar */
  .header-text,
  .video-caption-help,
  .project-media-block figcaption,
  .staging-form-note,
  .footer-text,
  .footer a,
  .footer-disclosure,
  .legal-pending {
    font-size:12px!important;
  }
}

/* v0.8.0 — WHAT WE DO: Services + Work as one visual section */

/* Shared dark field: technical anchors stay separate, visual section becomes one */
.about-bottom,
.work-section{
  background:var(--hiai-navy)!important;
}
.about-bottom{
  padding-top:50px!important;
  padding-bottom:30px!important;
  overflow:hidden;
}
.services-heading{
  margin-bottom:38px!important;
}
.work-section{
  color:#fff!important;
  padding-top:0!important;
  padding-bottom:54px!important;
}
.what-we-do-work-stars{display:block!important;}

/* Keep OUR WORK / REALIZACJE in the document structure, but not as a second visual title */
.work-heading h2{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.work-heading{
  max-width:1200px!important;
  padding:10px 20px 24px!important;
}
.filter-state{
  margin-top:0!important;
  position:relative;
  z-index:2;
}
.text-button{color:#51f5ff!important;}
.text-button.active{color:#fff!important;}
#filter-info{color:rgba(255,255,255,.72);}

/* Portfolio content on navy */
.work-section .text-frame h3{color:#fff!important;}
.work-section .text-frame p{color:rgba(255,255,255,.9)!important;}
.work-section .project-type,
.work-section .project-open{color:#51f5ff!important;}
.work-section .project-open:hover,
.work-section .project-open:focus-visible{color:#fff!important;}
.work-section .image-frame{background:var(--hiai-navy)!important;}
.work-empty{color:#fff;}

/* Category accent = the accent used by the corresponding service icon */
.portfolio-unit{--project-accent:#51f5ff;}
.portfolio-unit.project-cat-filmy-reklamowe{--project-accent:#bf0baa;}
.portfolio-unit.project-cat-kontent-social-media{--project-accent:#51f5ff;}
.portfolio-unit.project-cat-wirtualni-influencerzy{--project-accent:#ea3c2f;}
.portfolio-unit.project-cat-billboardy-sponsorskie{--project-accent:#51f589;}
.portfolio-unit.project-cat-digital-design{--project-accent:#ffbd00;}
.portfolio-unit.project-cat-animatiki-i-prewizualizacje{--project-accent:#b1b5b5;}
.portfolio-unit .connecting-rectangle{
  background:var(--project-accent)!important;
}

/* Alternating section rhythm after WHAT WE DO */
.people-section{
  background:#fff!important;
  color:var(--hiai-navy)!important;
}
.people-section .stars-animation{display:none!important;}
.people-inner>h2{color:#51f5ff!important;}
.person h3,
.person p:not(.person-role){color:var(--hiai-navy)!important;}
.person-role{color:#008ba8!important;}

.contact-section.hiai-contact{
  background:var(--hiai-navy)!important;
  color:#fff!important;
}
.contact-section.hiai-contact>.stars-animation{display:block!important;}
.hiai-contact .contact-title{color:#51f5ff!important;}
.hiai-contact h3,
.hiai-contact .contact-description,
.hiai-contact-form label,
.staging-form-note{color:#fff!important;}
.hiai-form-grid input,
.hiai-form-grid textarea{
  background:rgba(255,255,255,.06)!important;
  color:#fff!important;
  border-color:rgba(81,245,255,.55)!important;
}
.hiai-form-grid input::placeholder,
.hiai-form-grid textarea::placeholder{color:rgba(255,255,255,.48)!important;}
.staging-form-note a{color:#51f5ff!important;}

@media(max-width:900px){
  .about-bottom{padding-top:38px!important;padding-bottom:22px!important;}
  .services-heading{margin-bottom:28px!important;}
  .work-heading{padding:8px 15px 18px!important;}
  .work-section{padding-bottom:38px!important;}
}

/* v0.8.2 — PEOPLE: O–1 motif */
.people-section{
  padding-top:46px!important;
  padding-bottom:68px!important;
}
.people-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:68px;
  margin-top:42px;
}
.person{
  --people-o1-size:220px;
  --people-o1-bar:30px;
  display:grid;
  grid-template-columns:var(--people-o1-size) var(--people-o1-bar) minmax(0,1fr);
  grid-template-rows:auto auto 1fr;
  column-gap:20px;
  align-items:start;
  padding:0!important;
  border:0!important;
  min-width:0;
}
.person::before{
  content:"";
  grid-column:2;
  grid-row:1 / 4;
  width:var(--people-o1-bar);
  height:var(--people-o1-size);
  align-self:start;
  background:#51f5ff;
  border-radius:999px;
}
.person img{
  grid-column:1;
  grid-row:1 / 4;
  width:var(--people-o1-size)!important;
  height:var(--people-o1-size)!important;
  max-width:none!important;
  margin:0!important;
  border-radius:50%!important;
  object-fit:cover!important;
  display:block;
}
.person:nth-child(1) img{object-position:50% 28%;}
.person:nth-child(2) img{object-position:50% 24%;}
.person h3{
  grid-column:3;
  grid-row:1;
  margin:2px 0 0!important;
}
.person-role{
  grid-column:3;
  grid-row:2;
  margin:7px 0 12px!important;
}
.person p:not(.person-role){
  grid-column:3;
  grid-row:3;
  margin:0!important;
  line-height:1.55;
}

@media(max-width:900px){
  .people-grid{
    grid-template-columns:1fr;
    gap:42px;
    margin-top:30px;
  }
  .person{
    --people-o1-size:140px;
    --people-o1-bar:20px;
    column-gap:14px;
  }
}

@media(max-width:520px){
  .person{
    --people-o1-size:112px;
    --people-o1-bar:20px;
    column-gap:12px;
  }
  .person h3{margin-top:0!important;}
  .person-role{margin-top:5px!important;margin-bottom:9px!important;}
}

/* v0.8.3 — persistent AI disclosure bar */
body{
  padding-bottom:32px!important;
}
.ai-disclosure-bar{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:950;
  min-height:32px;
  padding:6px 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  background:#091525;
  border-top:1px solid rgba(81,245,255,.25);
  color:rgba(255,255,255,.82);
  font:400 12px/1.3 'Nunito',sans-serif;
  text-align:center;
  pointer-events:none;
}
.ai-disclosure-bar span{display:block;}

@media(max-width:900px){
  body{padding-bottom:48px!important;}
  .ai-disclosure-bar{
    min-height:48px;
    padding:7px 14px;
    font-size:12px;
    line-height:1.3;
  }
}

/* v0.9.0 — CONTACT: two-level layout + interactive cyan cursor/electric finger effect */
.hiai-contact{
  --contact-max:1200px;
  --nd-tip-x:50%;
  --nd-tip-y:61%;
  overflow:hidden;
}
.hiai-contact-head{
  max-width:var(--contact-max)!important;
  padding:30px 40px 0!important;
}
.hiai-contact-form{
  position:relative;
  z-index:3;
  max-width:var(--contact-max);
  margin:0 auto;
  padding:24px 40px 72px;
}
.hiai-contact-intro{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:72px;
  align-items:start;
  margin-bottom:34px;
}
.contact-intro-copy,
.contact-needs{min-width:0;}
.hiai-contact .contact-description{
  margin:0;
  max-width:520px;
  line-height:1.55;
}
.hiai-contact .contact-needs{
  border:0;
  margin:0;
  padding:0;
  display:grid;
  gap:9px;
}
.hiai-contact .contact-needs legend{
  margin:0 0 13px;
  padding:0;
  color:#51f5ff;
  font:600 22px/1.2 'Oxanium',sans-serif;
}
.hiai-contact .contact-needs label{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin:0;
  color:#fff;
}
.hiai-contact .contact-needs input{margin-top:.28em;flex:0 0 auto;accent-color:#51f5ff;}
.hiai-contact-lower{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);
  gap:48px;
  align-items:end;
}
.hiai-contact .contact-container{padding:0!important;max-width:none!important;}
.hiai-contact-form > fieldset{margin:0;}
.nd-contact{
  position:relative;
  min-height:560px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  overflow:visible;
}
.nd-robot-art{
  position:relative;
  width:min(100%,500px);
  display:block;
}
.nd-robot-art img{
  width:100%!important;
  height:auto!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 0 22px rgba(81,245,255,.08));
}
.nd-finger-tip{
  position:absolute;
  left:var(--nd-tip-x);
  top:var(--nd-tip-y);
  width:12px;
  height:12px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  opacity:0;
  pointer-events:none;
  background:#dfffff;
  box-shadow:0 0 8px #51f5ff,0 0 22px rgba(81,245,255,.95),0 0 42px rgba(81,245,255,.55);
  transition:opacity .12s ease;
}
.nd-finger-tip.is-active{opacity:1;animation:ndTipPulse .34s steps(2,end) infinite;}
@keyframes ndTipPulse{0%,100%{transform:translate(-50%,-50%) scale(.8)}50%{transform:translate(-50%,-50%) scale(1.35)}}
.contact-cursor-glow{
  position:fixed;
  left:0;top:0;
  width:34px;height:34px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  pointer-events:none;
  z-index:10020;
  opacity:0;
  background:radial-gradient(circle,rgba(225,255,255,1) 0 7%,rgba(81,245,255,.82) 12%,rgba(81,245,255,.34) 34%,rgba(81,245,255,0) 72%);
  filter:drop-shadow(0 0 7px rgba(81,245,255,.85));
  transition:opacity .12s ease;
}
.hiai-contact.is-pointer-active .contact-cursor-glow{opacity:1;}
.contact-electric{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:10010;
  pointer-events:none;
  overflow:visible;
  opacity:0;
  transition:opacity .08s ease;
}
.contact-electric.is-active{opacity:1;}
.contact-electric-arc{
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.contact-electric-arc-a{
  stroke:#dfffff;
  stroke-width:2.2;
  filter:drop-shadow(0 0 3px #51f5ff) drop-shadow(0 0 8px rgba(81,245,255,.9));
}
.contact-electric-arc-b{
  stroke:#51f5ff;
  stroke-width:1;
  opacity:.7;
  filter:drop-shadow(0 0 6px rgba(81,245,255,.8));
}

@media(max-width:900px){
  .hiai-contact-head{padding:24px 24px 0!important;}
  .hiai-contact-form{padding:20px 24px 54px;}
  .hiai-contact-intro,
  .hiai-contact-lower{grid-template-columns:1fr;gap:28px;}
  .hiai-contact-intro{margin-bottom:32px;}
  .hiai-contact .contact-description{max-width:none;}
  .hiai-contact .contact-needs legend{font-size:18px;}
  .hiai-contact-lower{align-items:start;}
  .nd-contact{min-height:0;max-height:none;margin-top:4px;}
  .nd-robot-art{width:min(86vw,430px);margin:0 auto;}
}

@media(hover:none),(pointer:coarse){
  .contact-cursor-glow,.contact-electric,.nd-finger-tip{display:none!important;}
}

@media(prefers-reduced-motion:reduce){
  .contact-cursor-glow,.contact-electric,.nd-finger-tip{display:none!important;}
}

/* v0.9.1 — CONTACT refinements */
.hiai-contact{
  --nd-tip-x:61.2%;
  --nd-tip-y:38.3%;
}
.hiai-contact-head{
  padding-top:22px!important;
}
.hiai-contact-form{
  padding-top:16px;
  padding-bottom:44px;
}
.hiai-contact-intro{
  gap:58px;
  margin-bottom:24px;
}
.contact-intro-copy h3{
  margin:0 0 12px!important;
  color:#51f5ff!important;
  font:600 22px/1.2 'Oxanium',sans-serif!important;
}
.hiai-contact .contact-needs{
  padding-top:2px;
  gap:8px;
}
.hiai-contact-lower{
  gap:38px;
}
.hiai-form-grid{
  gap:11px 14px;
}
.hiai-form-grid label{
  gap:5px;
}
.hiai-form-grid input,
.hiai-form-grid textarea{
  padding:9px 11px;
}
.contact-file input[type="file"]{
  padding:7px 9px;
  font-size:12px;
  color:rgba(255,255,255,.88);
}
.contact-file input[type="file"]::file-selector-button{
  margin-right:10px;
  border:1px solid rgba(81,245,255,.7);
  border-radius:999px;
  padding:7px 11px;
  background:transparent;
  color:#51f5ff;
  font:600 11px/1 'Oxanium',sans-serif;
  cursor:pointer;
}
.staging-form-note{
  margin:11px 0 10px!important;
}
.hiai-contact-form .contact-cta[disabled]{
  opacity:.82!important;
  color:#51f5ff!important;
  border-color:#51f5ff!important;
  box-shadow:0 0 13px rgba(81,245,255,.18);
}
.nd-contact{
  min-height:455px;
}
.nd-robot-art{
  width:min(100%,440px);
}
.contact-cursor-glow{
  width:18px;
  height:18px;
  background:radial-gradient(circle,rgba(235,255,255,1) 0 10%,rgba(81,245,255,.78) 22%,rgba(81,245,255,.18) 48%,rgba(81,245,255,0) 74%);
  filter:drop-shadow(0 0 4px rgba(81,245,255,.8));
}
.hiai-contact.is-pointer-over-control .contact-cursor-glow{
  opacity:0!important;
}

@media(max-width:900px){
  .hiai-contact-head{padding-top:18px!important;}
  .hiai-contact-form{padding-top:14px;padding-bottom:38px;}
  .hiai-contact-intro{gap:22px;margin-bottom:26px;}
  .contact-intro-copy h3{font-size:18px!important;}
  .hiai-contact-lower{gap:22px;}
  .nd-robot-art{width:min(78vw,360px);}
}


/* v0.9.2 — CONTACT: SEND button integrated with form + longer electric reach */
.hiai-contact-form .contact-cta{
  appearance:none;
  -webkit-appearance:none;
  min-width:150px;
  min-height:44px;
  padding:10px 20px;
  border:1px solid rgba(81,245,255,.72);
  border-radius:8px;
  background:rgba(255,255,255,.04);
  color:#51f5ff;
  font-family:'Oxanium',sans-serif!important;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  box-shadow:none;
  cursor:pointer;
  transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.hiai-contact-form .contact-cta:not([disabled]):hover,
.hiai-contact-form .contact-cta:not([disabled]):focus-visible{
  background:#51f5ff;
  color:#091525;
  border-color:#51f5ff;
  box-shadow:0 0 14px rgba(81,245,255,.22);
  outline:none;
}
.hiai-contact-form .contact-cta:not([disabled]):active{transform:translateY(1px);}
.hiai-contact-form .contact-cta[disabled]{
  opacity:.72!important;
  color:rgba(81,245,255,.88)!important;
  border-color:rgba(81,245,255,.48)!important;
  background:rgba(255,255,255,.025)!important;
  box-shadow:none!important;
}


/* v0.9.4 — homepage project cards: larger rounded media covers */
.project-text-link{
  display:block;
  color:inherit;
  text-decoration:none;
  cursor:pointer;
}
.project-text-link:focus-visible{
  outline:1px solid #51f5ff;
  outline-offset:6px;
  border-radius:8px;
}
.project-image-link{
  border-radius:16px;
}
.project-image-link img,
.project-image-link video,
.project-image-link .project-cover-placeholder{
  border-radius:inherit;
}

/* v0.9.5 — CONTACT: match 16px rounding used on project covers */
.hiai-contact .hiai-form-grid input,
.hiai-contact .hiai-form-grid textarea,
.hiai-contact-form .contact-cta{
  border-radius:16px!important;
}
.hiai-contact .contact-file input[type="file"]::file-selector-button{
  border-radius:16px!important;
}

/* v0.10.2 — legal minimum + consent links */
.form-privacy-note{
  margin:10px 0 14px;
  max-width:660px;
  font-size:11px;
  line-height:1.45;
  color:rgba(255,255,255,.66);
}
.form-privacy-note a,
.footer-legal-links a{
  color:#51f5ff;
  text-decoration:none;
  border-bottom:1px solid rgba(81,245,255,.35);
}
.form-privacy-note a:hover,
.form-privacy-note a:focus-visible,
.footer-legal-links a:hover,
.footer-legal-links a:focus-visible{
  color:#fff;
  border-bottom-color:#51f5ff;
}
.footer-legal-links{font-size:11px;opacity:.86;}
.footer-legal-links span{opacity:.5;}

/* v0.10.5 — project page: true vertical 9:16 lead video */
.layout-3 .external-video-shell {
  width:100%;
  max-width:420px;
  margin:0 auto;
}
.layout-3 .external-video-gate,
.layout-3 .external-video-shell > iframe {
  width:100%;
  aspect-ratio:9 / 16 !important;
  height:auto;
}

@media (min-width:901px) {
  .hiai-project-page.has-vertical-lead {
    display:grid;
    grid-template-columns:minmax(300px,420px) minmax(0,560px);
    column-gap:64px;
    justify-content:center;
    align-items:start;
  }
  .hiai-project-page.has-vertical-lead > .project-return,
  .hiai-project-page.has-vertical-lead > .project-page-header,
  .hiai-project-page.has-vertical-lead > .project-main-cover,
  .hiai-project-page.has-vertical-lead > .project-cta {
    grid-column:1 / -1;
    width:100%;
  }
  .hiai-project-page.has-vertical-lead > .project-media-list {
    grid-column:1;
    width:100%;
    max-width:420px;
    margin:0;
    padding:0;
  }
  .hiai-project-page.has-vertical-lead > .project-details {
    grid-column:2;
    width:100%;
    max-width:none;
    margin:0;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:34px;
    align-self:start;
  }
  .hiai-project-page.has-vertical-lead .project-media-block {
    margin-bottom:48px;
  }
}

@media (max-width:900px) {
  .hiai-project-page.has-vertical-lead > .project-media-list {
    width:100%;
    max-width:420px;
    margin:0 auto;
    padding:0 24px;
  }
  .hiai-project-page.has-vertical-lead > .project-details {
    margin-top:30px;
  }
  .hiai-project-page.has-vertical-lead .project-media-block {
    margin-bottom:0;
  }
}

/* v0.11.1 — WHO CREATES HIAI: Good Ad experience/network card stays last */
.person-network-logo{
  grid-column:1;
  grid-row:1 / 5;
  display:block;
  width:var(--people-o1-size);
  height:var(--people-o1-size);
  border-radius:50%;
  overflow:hidden;
  text-decoration:none;
}
.person-network-logo img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:50%!important;
  margin:0!important;
  display:block;
}
.person-network>h3{grid-row:1;}
.person-network>p:not(.person-network-cta){
  grid-column:3;
  grid-row:2;
  margin:9px 0 14px!important;
  line-height:1.55;
}
.person-network .person-network-cta{
  grid-column:3;
  grid-row:3;
  margin:0!important;
  font:600 12px/1.4 'Oxanium',sans-serif;
  letter-spacing:.03em;
}
.person-network-cta a{
  color:#008ba8;
  text-decoration:none;
}
.person-network-cta a:hover,
.person-network-cta a:focus-visible{
  color:#51f5ff;
}

/* v0.11.2 — editable Good Ad card + language-safe custom file input */
.contact-file{
  display:flex;
  flex-direction:column;
  gap:5px;
}
.contact-file-control{
  min-height:42px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:7px 9px;
  border:1px solid rgba(81,245,255,.55);
  border-radius:16px;
  background:rgba(255,255,255,.06);
}
.contact-file-button{
  flex:0 0 auto;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  margin:0!important;
  padding:8px 12px;
  border:1px solid rgba(81,245,255,.7);
  border-radius:16px;
  color:#51f5ff!important;
  font:600 11px/1 'Oxanium',sans-serif!important;
  cursor:pointer;
  white-space:nowrap;
}
.contact-file-button:hover,
.contact-file-button:focus-visible{
  border-color:#51f5ff;
  box-shadow:0 0 12px rgba(81,245,255,.18);
}
.contact-file-name{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:rgba(255,255,255,.76);
  font-size:12px;
}
.contact-file-input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
  opacity:0!important;
}

.person-network-logo img{
  background:transparent;
}

@media(max-width:520px){
  .contact-file-control{align-items:flex-start;flex-direction:column;gap:8px;}
  .contact-file-name{max-width:100%;white-space:normal;overflow-wrap:anywhere;}
}

/* v0.11.13 — mobile usability: full header CTA, safe Contact stacking, no service filtering on touch/mobile */
@media(max-width:900px){
  /* Keep "Say hi!" fully visible and preserve a visually centered logo. */
  .header-left,
  .header-right{
    flex:0 0 68px!important;
    width:68px!important;
  }
  .header-left{overflow:visible!important;}
  .lets-talk{
    display:inline-block!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }

  /* Anchor navigation must not place Contact copy under the fixed navy header. */
  #contact{scroll-margin-top:88px;}

  /* Keep the introductory copy above decorative/background layers on mobile. */
  .hiai-contact-intro,
  .contact-intro-copy,
  .hiai-contact .contact-description{
    position:relative;
    z-index:4;
    overflow:visible!important;
  }

  /* On mobile service icons describe the offer; they do not filter the portfolio. */
  .service-filter{
    opacity:1!important;
    cursor:default!important;
  }
  .service-filter .service-icon-img{
    transform:none!important;
    filter:none!important;
  }
  .filter-state{display:none!important;}
}
