/* NONOS 1.1: Elementor spacing, full-card links and restrained surface motion. */

/* HTML-widget cards need a real layout box. An inline anchor cannot contain a
   stable padded card, and the extra Elementor wrapper must stretch with it. */
.nonos-site :is(.grid-2, .grid-3, .grid-4, .case-grid) {
  align-items: stretch;
}
.nonos-site :is(.grid-2, .grid-3, .grid-4, .case-grid) > .elementor-widget-html {
  align-self: stretch;
  width: 100%;
  min-width: 0;
  height: 100%;
}
.nonos-site :is(.grid-2, .grid-3, .grid-4, .case-grid) > .elementor-widget-html > .elementor-widget-container {
  height: 100%;
}
.nonos-site a.panel {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  color: #eaf4f5;
  text-decoration: none;
  isolation: isolate;
  overflow-wrap: break-word;
}
.nonos-site a.panel > :not(.panel-arrow) {
  position: relative;
  z-index: 1;
}
.nonos-site a.panel h3 {
  margin: 24px 0 16px;
  line-height: 1.24;
  letter-spacing: -.035em;
}
.nonos-site a.panel p {
  margin: 0 0 24px;
  line-height: 1.75;
  color: #a8bdc6;
}
.nonos-site a.audience-panel {
  min-height: 350px;
  padding: 32px 32px 62px;
}
.nonos-site a.audience-panel > .meta {
  position: absolute;
  top: 32px;
  right: 28px;
}
.nonos-site a.audience-panel h3 {
  margin-top: 30px;
  font-size: clamp(1.45rem, 1.8vw, 1.8rem);
}
.nonos-site a.audience-panel p {
  max-width: none;
  margin-bottom: 0;
}
.nonos-site a.case-preview {
  min-height: 305px;
}
.nonos-site a.case-preview > .meta {
  display: block;
  line-height: 1.7;
}
.nonos-site a.case-preview h3 {
  margin: 22px 0 16px;
  font-size: 1.45rem;
  line-height: 1.32;
}
.nonos-site a.case-preview > .text-link {
  margin-top: auto;
  padding-top: 6px;
  line-height: 1.5;
}

/* Margin belongs on the widget wrapper. Elementor's heading-title reset
   otherwise outranks the original h3 margin and erases the vertical rhythm. */
.nonos-site .e-con.panel {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0 !important;
  padding: 34px !important;
  min-width: 0;
}
.nonos-site .e-con.panel > .elementor-widget-heading {
  margin: 26px 0 16px !important;
  width: 100%;
}
.nonos-site .e-con.panel > .elementor-widget-heading:first-child {
  margin-top: 0 !important;
}
.nonos-site .e-con.panel > .elementor-widget-heading .elementor-heading-title {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.27;
  letter-spacing: -.035em;
}
.nonos-site .e-con.panel > .elementor-widget-text-editor p {
  line-height: 1.8;
}
.nonos-site .e-con.panel > .elementor-widget-text-editor p:last-child {
  margin-bottom: 0;
}
.nonos-site .e-con.panel > .elementor-widget-text-editor + .elementor-widget-text-editor {
  margin-top: 16px !important;
}
.nonos-site .e-con.panel > .elementor-widget-text-editor + .elementor-widget-button {
  margin-top: 24px !important;
}
.nonos-site .e-con.panel > .elementor-widget-html .pill {
  display: inline-flex;
  min-height: 30px;
  padding: 6px 12px;
  line-height: 1.35;
  vertical-align: top;
}
.nonos-site .e-con.panel > .elementor-widget-html + .elementor-widget-heading {
  margin-top: 26px !important;
}
.nonos-site .e-con.panel > .big-number {
  margin: 22px 0 0 !important;
  line-height: 1.2;
}
.nonos-site .e-con.panel > .big-number:first-child {
  margin-top: 0 !important;
}
.nonos-site .e-con.panel > .big-number + .elementor-widget-heading {
  margin-top: 20px !important;
}
.nonos-site .e-con.panel > .elementor-widget:last-child {
  margin-bottom: 0 !important;
}

/* Keep icon geometry independent of Elementor's 100%-width container defaults. */
.nonos-site .icon-box,
.nonos-site .e-con.icon-box {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 52px !important;
  min-width: 52px;
  height: 52px !important;
  min-height: 52px;
  padding: 0 !important;
  margin: 0;
  line-height: 1;
  border-radius: 9px;
}
.nonos-site .icon-box > .elementor-widget-html {
  width: auto;
  flex: 0 0 auto;
  line-height: 0;
}
.nonos-site .icon-box > .elementor-widget-html > .elementor-widget-container {
  width: auto;
  height: auto;
  line-height: 0;
}
.nonos-site .icon-box svg {
  display: block;
  width: 24px;
  height: 24px;
  margin: 0;
}
.nonos-site :is(.text-link, .back-link, .btn) > svg {
  display: block;
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin: 0;
}
.nonos-site .panel-arrow {
  display: block;
  width: 22px;
  height: 22px;
  right: 28px;
  bottom: 28px;
  z-index: 2;
}
.nonos-site .feature-line {
  gap: 20px;
  padding: 22px 0;
}
.nonos-site .e-con.feature-line {
  gap: 20px !important;
  padding: 22px 0 !important;
}
.nonos-site .feature-line > svg {
  display: block;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  margin-top: 3px;
}
.nonos-site .feature-line h4 {
  margin: 0 0 10px;
  line-height: 1.4;
}
.nonos-site .feature-line p {
  margin: 0;
  line-height: 1.75;
}
.nonos-site .feature-line .elementor-widget-heading {
  margin-bottom: 10px !important;
}
.nonos-site .feature-line .elementor-heading-title {
  line-height: 1.4;
}

/* Remove the long decorative dash preceding labels. */
.nonos-site .eyebrow::before {
  content: none;
  display: none;
}
.nonos-site .eyebrow {
  line-height: 1.65;
  margin-bottom: 24px;
}
.nonos-site .section-head {
  align-items: flex-end;
}
.nonos-site .section-head h2 {
  line-height: 1.13;
}

/* A thin travelling edge gives the card grid life without obscuring copy. */
.nonos-site a.panel::after,
.nonos-site .grid-4 > .e-con.panel::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 44%;
  height: 1px;
  background: linear-gradient(90deg, transparent, #7ae6f2, transparent);
  opacity: .55;
  pointer-events: none;
  animation: nonos-card-edge 9s ease-in-out infinite;
}
.nonos-site .grid-4 > :nth-child(2n) a.panel::after,
.nonos-site .grid-4 > .e-con.panel:nth-child(2n)::after {
  animation-delay: -4.5s;
}
.nonos-site a.panel:hover,
.nonos-site a.panel:focus-visible {
  border-color: #55a8b7;
  transform: translateY(-5px);
  box-shadow: 0 12px 38px #00000030, 0 0 32px #39cadd14;
}
.nonos-site a.panel:hover .panel-arrow {
  transform: translate(3px, -3px);
}
.nonos-site .panel-arrow {
  transition: transform .25s ease;
}
@keyframes nonos-card-edge {
  0%, 100% { transform: translateX(-110%); opacity: .15; }
  45% { opacity: .7; }
  80% { transform: translateX(340%); opacity: .15; }
}

@media (max-width: 1180px) {
  .nonos-site a.audience-panel { min-height: 320px; }
}
@media (max-width: 900px) {
  .nonos-site .section-head { align-items: flex-start; }
  .nonos-site .e-con.panel { padding: 30px !important; }
}
@media (max-width: 560px) {
  .nonos-site .e-con.panel { padding: 27px !important; }
  .nonos-site a.panel { padding: 27px; }
  .nonos-site a.audience-panel { min-height: 290px; padding-bottom: 62px; }
  .nonos-site a.audience-panel h3 { margin-top: 26px; font-size: 1.65rem; }
  .nonos-site a.audience-panel > .meta { top: 29px; right: 27px; }
  .nonos-site a.case-preview { min-height: 285px; }
  .nonos-site .e-con.panel > .elementor-widget-heading { margin-top: 24px !important; }
  .nonos-site .e-con.panel > .elementor-widget-heading:first-child { margin-top: 0 !important; }
  .nonos-site .feature-line, .nonos-site .e-con.feature-line { gap: 16px !important; }
}

.nonos-paused .panel::after,
.paused .panel::after {
  animation-play-state: paused !important;
}
.nonos-paused a.panel:hover,
.paused a.panel:hover,
.nonos-paused .panel:hover .icon-box,
.paused .panel:hover .icon-box,
.nonos-paused .panel:hover .panel-arrow,
.paused .panel:hover .panel-arrow {
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .nonos-site .panel::after { animation: none !important; transform: none; opacity: .4; }
  .nonos-site a.panel,
  .nonos-site .panel-arrow,
  .nonos-site .icon-box { transition: none !important; }
  .nonos-site a.panel:hover,
  .nonos-site .panel:hover .icon-box,
  .nonos-site .panel:hover .panel-arrow { transform: none !important; }
}

/* Original NONOS brand artwork, preserved as supplied by nonos.systems. */
.nonos-site .brand{flex-shrink:0;gap:0;line-height:1;text-decoration:none}
.nonos-site .brand .nonos-original-logo{display:block;width:172px!important;height:60px!important;max-width:none;object-fit:contain}
.nonos-site .footer .brand .nonos-original-logo{width:190px!important;height:67px!important}
.nonos-site .topnav{min-height:90px}
.nonos-site .hero{overflow:hidden!important}
.nonos-site main{min-width:0}
@media(max-width:900px){.nonos-site .brand .nonos-original-logo{width:146px!important;height:51px!important}.nonos-site .topnav{min-height:78px}}
.nonos-site .nonos-ai-benefits{display:flex;flex-wrap:wrap;gap:8px 18px;margin:22px 0 0;color:#90e7e5;font:500 .72rem/1.5 Arial,Helvetica,sans-serif;letter-spacing:.015em}
.nonos-site .nonos-ai-benefits span{display:inline-flex;align-items:center;gap:7px}
.nonos-site .nonos-ai-benefits span::before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:#66ffff;box-shadow:0 0 10px #66ffff66}
