.header nav a[aria-current="page"]{text-decoration:underline;text-decoration-color:#ffc500;text-decoration-thickness:3px;text-underline-offset:9px}
.neo-hero{min-height:800px;background:linear-gradient(to bottom,transparent 85%,white),url('assets/neosana-hero-v2.png') center/cover no-repeat}
.neo-breadcrumbs{display:flex;gap:12px;padding-top:42px;color:#42b8f5;font-size:16px;font-weight:600}
.neo-breadcrumbs a:hover{text-decoration:underline}
.neo-heading{padding-top:86px}
.neo-heading h1{font-size:60px;line-height:1.15;margin:22px 0 45px}
.neo-intro{max-width:585px;font-size:19px;line-height:1.25}
.neo-actions{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:45px}
.neo-actions .button{min-width:0}
.neo-outline{background:transparent;border:1px solid #244f8b;color:#244f8b}
.neo-products{padding-top:5px;padding-bottom:145px}
.neo-row{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;margin-bottom:110px;scroll-margin-top:30px}
.neo-row:last-child{margin-bottom:0}
.neo-row>img{width:100%;height:auto;aspect-ratio:1.2;object-fit:cover;border-radius:30px}
.neo-copy h2{font-size:36px;line-height:1.15;margin-bottom:45px;letter-spacing:0}
.neo-copy p,.neo-copy li{font-size:19px;line-height:1.2}
.neo-copy p+p{margin-top:22px}
.neo-copy a{text-decoration:underline;overflow-wrap:anywhere}
.neo-copy ul{margin:0;padding-left:18px}
.neo-reverse>img{grid-column:2;grid-row:1}
.neo-reverse>.neo-copy{grid-column:1;grid-row:1}
@media(max-width:1100px){
.neo-hero{min-height:680px}.neo-heading{padding-top:65px}.neo-heading h1{font-size:46px}.neo-intro{max-width:470px;font-size:17px}.neo-row{gap:40px;margin-bottom:90px}.neo-copy h2{font-size:30px;margin-bottom:28px}.neo-copy p,.neo-copy li{font-size:16px}.neo-products{padding-bottom:90px}
}
@media(max-width:700px){
.neo-hero{min-height:780px;background-color:#f4eef9;background-image:linear-gradient(to bottom,#f4eef9 0%,#f4eef9eb 45%,transparent 68%),url('assets/neosana-hero-v2.png');background-size:cover,auto 430px;background-position:center,72% bottom;background-repeat:no-repeat}
.neo-breadcrumbs{padding-top:25px;font-size:13px}
.neo-heading{padding-top:45px}.neo-heading h1{font-size:36px;margin:15px 0 25px}.neo-intro{font-size:16px;max-width:420px;line-height:1.35}.neo-actions{margin-top:25px}.neo-actions .button{font-size:13px}
.neo-products{padding-top:30px;padding-bottom:65px}
.neo-row{grid-template-columns:1fr;gap:28px;margin-bottom:65px}.neo-row>img{border-radius:22px;aspect-ratio:1.2}.neo-reverse>img,.neo-reverse>.neo-copy{grid-column:auto;grid-row:auto}
.neo-copy h2{font-size:28px;margin-bottom:24px}.neo-copy p,.neo-copy li{font-size:16px;line-height:1.4}
}

.neo-products #test-ciazowy>img{
  aspect-ratio:4 / 3;
  object-fit:contain;
  object-position:center;
}

.neo-products #test-ciazowy>img{
  transform:translateX(-20px);
}
@media(max-width:700px){
  .neo-products #test-ciazowy>img{transform:translateX(-10px)}
}



/* Shared pale-blue product panels, with the photo flush to the text. */
.neo-row{
  gap:0;
  background:#edf4fd;
  border-radius:30px;
  overflow:hidden;
  align-items:stretch;
}
.neo-row .neo-copy{
  padding:45px 50px;
  align-self:center;
}
.neo-row>img{
  align-self:center;
}
.neo-products #test-ciazowy>img{
  transform:none;
}
@media(max-width:1100px){
  .neo-row .neo-copy{padding:30px}
}
@media(max-width:700px){
  .neo-row{gap:0;border-radius:22px}
  .neo-row .neo-copy{padding:28px 22px}
  .neo-products #test-ciazowy>img{transform:none}
}

/* Equal-width halves with matching top and bottom edges. */
.neo-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.neo-row>img,.neo-products #test-ciazowy>img{
  align-self:stretch;
  height:100%;
  min-height:0;
  background:#eee5f3;
}
.neo-row .neo-copy{padding:35px 40px}
.neo-copy h2{font-size:28px;margin-bottom:30px}
.neo-copy p,.neo-copy li{font-size:18px}
@media(max-width:1100px){
  .neo-row .neo-copy{padding:26px}
  .neo-copy h2{font-size:24px;margin-bottom:24px}
  .neo-copy p,.neo-copy li{font-size:16px}
}
@media(max-width:700px){
  .neo-row{grid-template-columns:minmax(0,1fr)}
  .neo-row>img,.neo-products #test-ciazowy>img{height:auto}
  .neo-row .neo-copy{padding:28px 22px}
}


.neo-actions .button{
  width:275px;
  max-width:100%;
}

.neo-products .neo-copy p,
.neo-products .neo-copy li{
  text-align:left;
  hyphens:auto;
}

.neo-products .neo-copy p + ul{
  margin-top:22px;
}


/* Justification with word breaks and more room for each line. */
.neo-products .neo-copy p,
.neo-products .neo-copy li{
  text-align:left;
  text-align-last:left;
  -webkit-hyphens:auto;
  hyphens:auto;
  hyphenate-limit-chars:7 3 3;
  overflow-wrap:break-word;
}
.neo-row .neo-copy{padding-left:30px;padding-right:30px}
@media(max-width:700px){
  .neo-row .neo-copy{padding-left:20px;padding-right:20px}
}

/* Place the mobile hero actions below the product photograph. */
@media(max-width:700px){
  .neo-hero{min-height:0;background:#f4eef9;padding-bottom:30px;}
  .neo-actions{margin-top:10px;}
  .neo-actions::before{
    content:"";
    display:block;
    width:calc(100% + 40px);
    height:330px;
    margin:0 -20px 14px;
    background-image:linear-gradient(to bottom,#f4eef9,transparent 22%,transparent 85%,#f4eef9),url('assets/neosana-hero-v2.png');
    background-size:100% 100%,auto 330px;
    background-position:center,82% center;
    background-repeat:no-repeat;
    flex-shrink:0;
  }
}

.neo-description > summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  cursor:pointer;
  list-style:none;
}
.neo-description > summary::-webkit-details-marker{display:none;}
.neo-description > summary h2{margin:0;}
.neo-description > summary:focus-visible{outline:3px solid #1598db;outline-offset:6px;}
.neo-chevron{
  width:10px;
  height:10px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg);
  flex-shrink:0;
  margin-right:4px;
}
.neo-description[open] .neo-chevron{transform:rotate(225deg);}
.neo-description-body{padding-top:24px;}

/* Align mobile contact content with the product descriptions above. */
@media(max-width:700px){
  .contact-banner .container{
    padding-left:20px;
  }
  .contact-banner .button{
    min-width:0;
    width:275px;
    max-width:100%;
  }
}

@media(min-width:701px){
  .neo-description > summary{cursor:default;}
  .neo-description .neo-chevron{display:none;}
}

/* Justify prose while keeping product lists and video links left aligned. */
.neo-products .neo-description-body > p{
  text-align:justify;
  text-align-last:left;
}
.neo-products .neo-description-body > p:has(a),
.neo-products .neo-description-body li{
  text-align:left;
}
