/* Nuvho — page sections (Home first; reused by later templates). Figma values from the Claude Design prototype. */

/* Hero */
.nv-hero{position:relative;overflow:hidden;height:791px;background:#80B9BF}
.nv-hero__g1{position:absolute;inset:0;background:linear-gradient(46.427deg,#E9EAEC 18.72%,#5E6B6C 46.87%,#414B4C 81.28%)}
.nv-hero__g2{position:absolute;inset:0;background:linear-gradient(56.79deg,rgba(175,207,211,.85) 16.23%,#80B9BF 55.4%,rgba(189,213,217,.46) 83.77%)}
.nv-hero__img{position:absolute;left:-8px;right:0;top:-22%;bottom:0;opacity:.6}
.nv-hero__img img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.nv-hero__glow{position:absolute;right:-560px;top:-540px;width:1300px;height:1080px;border-radius:50%;background:radial-gradient(650px 540px at 50% 50%,rgba(189,213,217,.46) 0%,rgba(150,186,206,.16) 50%,rgba(127,173,198,0) 100%)}
.nv-hero__sheet{position:absolute;width:900px;height:900px;border-radius:190px;background:linear-gradient(40deg,rgba(255,255,255,.07) 14.51%,rgba(255,255,255,0) 85.49%)}
.nv-hero__sheet--1{right:-180px;top:-320px}
.nv-hero__sheet--2{right:-420px;top:-120px}
.nv-hero__scrim{position:absolute;left:0;top:0;bottom:0;width:980px;background:linear-gradient(90deg,rgba(78,123,142,.55) 0%,rgba(78,123,142,0) 100%)}
.nv-hero__inner{position:relative;height:100%;max-width:1440px;margin:0 auto;padding:0 clamp(24px,9.72vw,140px) 103px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-end}
.nv-hero h1{margin:0;max-width:860px;font-family:Comfortaa,system-ui,sans-serif;font-weight:600;font-size:clamp(30px,3.9vw,56px);line-height:1.1;letter-spacing:-0.01em;color:#FFFFFF;text-wrap:balance}
.nv-hero__copy{margin:clamp(18px,2.9vw,42px) 0 0;max-width:672px;font-weight:600;font-size:clamp(15px,1.25vw,18px);line-height:1.68;color:#FFFFFF;text-wrap:pretty}
.nv-hero__ctas{margin-top:clamp(28px,2.9vw,42px);display:flex;flex-wrap:wrap;gap:20px}
.nv-hero__ctas .nv-btn{flex:0 0 auto;height:56px}
@media (max-width:900px){
  /* 478px as designed; grows instead of clipping the buttons when the H1 runs to a fourth line */
  .nv-hero{height:auto;min-height:478px}
  .nv-hero__inner{min-height:478px}
  .nv-hero__scrim{width:100%;background:linear-gradient(90deg,rgba(63,108,126,.68) 0%,rgba(63,108,126,.4) 55%,rgba(63,108,126,.58) 100%)}
  .nv-hero__inner{justify-content:flex-start;padding-top:88px;padding-bottom:21px}
  .nv-hero__ctas .nv-btn{flex:1 1 100%;height:52px}
}

/* Carousels (trusted-by logos, reviews) */
.nv-carousel{display:flex;align-items:center;justify-content:center}
.nv-carousel__viewport{flex:1;overflow:hidden}
.nv-carousel__track{display:flex}
.nv-arrow{flex-shrink:0;border:0;background:#FFFFFF;box-shadow:inset 0 0 0 1px #E9EAEC;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;width:44px;height:44px;border-radius:999px}
.nv-arrow img{width:7px;height:17px}
.nv-dots{margin-top:28px;display:flex;justify-content:center;gap:0}
/* 24px hit area (WCAG 2.5.8), 8px visual dot — same 24px pitch as before */
.nv-dot{position:relative;width:24px;height:24px;padding:0;border:0;border-radius:999px;cursor:pointer;background:transparent}
.nv-dot::before{content:"";position:absolute;left:8px;top:8px;width:8px;height:8px;border-radius:999px;background:#C0D8E5}
.nv-dot[aria-current="true"]::before{background:#28687F}

/* Trusted by */
.nv-trusted{background:#EEF4F5;padding:clamp(48px,7.8vw,112px) 0 clamp(52px,8.5vw,123px)}
.nv-trusted .nv-h2{margin:0 auto;padding:0 24px;max-width:920px;text-align:center;font-size:clamp(24px,2.5vw,36px);text-wrap:balance}
.nv-trusted .nv-carousel{margin-top:clamp(28px,3.3vw,48px);gap:clamp(8px,3.1vw,44px);padding:0 clamp(12px,3.6vw,52px)}
.nv-trusted .nv-arrow{width:44px;height:44px;border-radius:22px}
.nv-trusted .nv-arrow img{width:7px;height:17px}
.nv-trusted .nv-carousel.is-single .nv-arrow{opacity:.5}
.nv-trusted .nv-carousel__viewport{max-width:1160px}
.nv-trusted .nv-carousel__track{gap:20px;transition:transform 480ms cubic-bezier(.16,1,.3,1)}
.nv-logo{flex:0 0 calc((100% - 80px) / 5);height:108px;border-radius:12px;background:#FFFFFF;box-shadow:inset 0 0 0 1px #E9EAEC;display:flex;align-items:center;justify-content:center;overflow:hidden}
.nv-logo img{width:216px;max-width:100%;height:108px;object-fit:contain}
@media (max-width:900px){.nv-logo{flex-basis:100%}}

/* About */
.nv-about{background:#FFFFFF;padding:clamp(52px,7.6vw,110px) 0 clamp(56px,9.3vw,134px)}
.nv-about__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));column-gap:clamp(40px,7.4vw,107px);row-gap:24px}
.nv-about__a{display:flex;flex-direction:column;gap:clamp(24px,2.8vw,40px);align-items:flex-start}
.nv-about .nv-h2{max-width:506px;font-size:clamp(28px,2.9vw,42px)}
.nv-about__b{display:flex;flex-direction:column;gap:28px}
.nv-about__b p{margin:0;max-width:547px;font-size:18px;line-height:1.68;color:#414B4C;text-wrap:pretty}
@media (max-width:900px){.nv-about__b p{font-size:16px}}
.nv-about__cta-m{display:none}
@media (max-width:900px){
  .nv-about__cta-d{display:none}
  .nv-about__cta-m{display:flex;align-items:center;justify-content:center;height:48px;border-radius:999px;box-shadow:inset 0 0 0 1.25px #28687F;color:#28687F;font-weight:600;font-size:16px}
}

/* Services */
.nv-services{background:#F6F6F6;padding:clamp(52px,7.2vw,104px) 0 clamp(56px,7.2vw,104px)}
.nv-services__h{margin:0 auto;max-width:1160px;text-align:center;font-size:clamp(24px,2.9vw,42px);text-wrap:balance}
.nv-services__note{margin:clamp(18px,1.5vw,22px) auto 0;max-width:708px;text-align:center;font-size:clamp(15px,1.18vw,17px);line-height:1.7;color:#5E6B6C}
.nv-services__cards-h{margin:clamp(36px,4.4vw,64px) 0 0;text-align:center;font-family:Comfortaa,system-ui,sans-serif;font-weight:500;font-size:clamp(20px,1.67vw,24px);line-height:1.22;color:#28687F}
.nv-services__grid{margin-top:clamp(36px,6.4vw,93px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:24px}
.nv-services__cards-h + .nv-services__grid{margin-top:clamp(24px,2.2vw,32px)}
.nv-services__more{margin-top:60px;display:flex;justify-content:center}

/* Service card: hover = solid #6BA1BF + glow + two r70 sheets + grain, white text/icon */
.nv-card{position:relative;overflow:hidden;min-height:280px;border-radius:24px;padding:40px;box-sizing:border-box;display:flex;flex-direction:column;background:#FFFFFF;box-shadow:inset 0 0 0 1px #E9EAEC;transition:background 240ms cubic-bezier(.4,0,.2,1)}
.nv-card__grain{opacity:0}
.nv-card__glow,.nv-card__s1,.nv-card__s2{position:absolute;opacity:0;transition:opacity 240ms}
.nv-card__glow{left:300px;top:-230px;width:560px;height:420px;border-radius:50%;background:radial-gradient(280px 210px at 50% 50%,rgba(233,234,236,.55) 0%,rgba(164,202,206,.2) 50%,rgba(145,193,198,0) 100%)}
.nv-card__s1{right:-92px;top:-130px;width:240px;height:240px;border-radius:70px;background:linear-gradient(40.011deg,rgba(164,202,206,.24) 14.48%,rgba(255,255,255,.03) 85.45%),rgba(255,255,255,.42)}
.nv-card__s2{left:-90px;top:210px;width:240px;height:240px;border-radius:70px;background:linear-gradient(40.011deg,rgba(164,202,206,.24) 14.48%,rgba(255,255,255,.03) 85.45%)}
.nv-card__icon{position:relative;height:44px;display:flex;align-items:center}
.nv-card__icon img{display:block;width:44px;height:44px;object-fit:contain;transition:filter 240ms}
.nv-card__t{position:relative;margin:20px 0 0;font-family:Comfortaa,system-ui,sans-serif;font-weight:500;font-size:clamp(22px,1.95vw,28px);line-height:1.2;color:#28687F}
.nv-card__c{position:relative;margin:16px 0 0;max-width:480px;font-size:clamp(15px,1.1vw,16px);line-height:1.7;font-weight:400;color:#5E6B6C}
.nv-card:hover,.nv-card:focus-visible{background:#6BA1BF;box-shadow:none}
.nv-card:hover .nv-card__grain,.nv-card:focus-visible .nv-card__grain,
.nv-card:hover .nv-card__glow,.nv-card:focus-visible .nv-card__glow,
.nv-card:hover .nv-card__s1,.nv-card:focus-visible .nv-card__s1,
.nv-card:hover .nv-card__s2,.nv-card:focus-visible .nv-card__s2{opacity:1}
.nv-card:hover .nv-card__icon img,.nv-card:focus-visible .nv-card__icon img{filter:brightness(0) invert(1)}
.nv-card:hover .nv-card__t,.nv-card:focus-visible .nv-card__t{color:#FFFFFF}
.nv-card:hover .nv-card__c,.nv-card:focus-visible .nv-card__c{color:#FFFFFF;-webkit-text-stroke:.45px currentColor}
@media (max-width:900px){.nv-card{min-height:0}}

/* Why Nuvho */
.nv-why{background:#FFFFFF;padding:clamp(52px,7.2vw,104px) 0 clamp(56px,7.6vw,110px)}
.nv-why .nv-h2{text-align:center;font-size:clamp(28px,2.9vw,42px);text-wrap:balance}
.nv-why__grid{margin-top:clamp(40px,5vw,72px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:clamp(36px,3.7vw,53px)}
.nv-why__item{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center}
.nv-why__item + .nv-why__item::before{content:"";position:absolute;left:calc(-1 * clamp(18px,1.85vw,26.5px));top:0;bottom:0;width:1px;background:#E9EAEC}
.nv-why__item img{display:block;width:32px;height:32px;object-fit:contain}
.nv-why__item h3{margin:20px 0 0;font-family:Comfortaa,system-ui,sans-serif;font-weight:500;font-size:clamp(20px,1.67vw,24px);line-height:1.22;color:#28687F}
.nv-why__item p{margin:16px 0 0;max-width:260px;font-size:15px;line-height:1.7;color:#5E6B6C;text-wrap:pretty}
@media (max-width:900px){.nv-why__item + .nv-why__item::before{display:none}}

/* Commercial Accelerator Calculator spotlight (house curve band) */
.nv-calc{position:relative;overflow:hidden;border-radius:0 120px 0 0;background:linear-gradient(60.929deg,#184E63 16.53%,#2F7C8F 46.6%,#96CBCF 83.35%)}
.nv-calc__glow{position:absolute;right:-1145px;top:-520px;width:1680px;height:1396px;border-radius:50%;background:radial-gradient(840px 698px at 50% 50%,rgba(255,255,255,.72) 0%,rgba(150,203,207,.28) 50%,rgba(150,203,207,0) 100%)}
.nv-calc__sheet{position:absolute;right:-300px;top:-420px;width:900px;height:900px;border-radius:190px;background:linear-gradient(40deg,rgba(255,255,255,.07) 14.51%,rgba(255,255,255,0) 85.49%)}
.nv-calc__scrim-l{position:absolute;left:0;top:0;bottom:0;width:min(860px,100%);background:linear-gradient(90deg,rgba(16,58,75,.7) 0%,rgba(16,58,75,0) 100%)}
.nv-calc__scrim-r{position:absolute;right:0;top:0;bottom:0;width:min(760px,53%);background:linear-gradient(90deg,rgba(16,58,75,0) 0%,rgba(16,58,75,.22) 45%,rgba(16,58,75,.3) 100%)}
.nv-calc__inner{position:relative;max-width:1160px;margin:0 auto;padding:clamp(52px,10.1vw,146px) clamp(24px,9.72vw,140px);box-sizing:content-box;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:48px}
.nv-calc__text{flex:1 1 440px;max-width:540px;display:flex;flex-direction:column;align-items:flex-start}
.nv-calc .nv-h2{font-size:clamp(26px,2.78vw,40px);line-height:1.3;color:#FFFFFF}
.nv-calc__copy{margin:clamp(18px,1.9vw,28px) 0 0;max-width:520px;font-weight:600;font-size:clamp(15px,1.15vw,16.5px);line-height:1.7;color:#E9EAEC}
.nv-calc__text .nv-btn{margin-top:clamp(24px,1.2vw,17px)}
.nv-calc__art{position:relative;flex:0 1 500px;aspect-ratio:500/380;border-radius:32px 120px 32px 32px;background:rgba(255,255,255,.16);box-shadow:inset 0 0 0 1px rgba(255,255,255,.4);overflow:hidden}
.nv-ring{position:absolute;aspect-ratio:1;border-radius:50%}
.nv-calc__r1{left:19%;top:9.2%;width:62%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.26)}
.nv-calc__r2{left:29%;top:22.4%;width:42%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.nv-medal{position:absolute;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;display:flex;align-items:center;justify-content:center}
.nv-medal img{width:auto}
.nv-calc .nv-medal{background:rgba(255,255,255,.22);box-shadow:inset 0 0 0 1px rgba(255,255,255,.44)}
.nv-calc .nv-medal img{filter:brightness(0) invert(1)}
.nv-calc__m1{left:50%;top:50%;width:22.4%}.nv-calc__m1 img{height:48%}
.nv-calc__m2{left:27.5%;top:26%;width:14%}.nv-calc__m2 img{height:38%}
.nv-calc__m3{left:72.5%;top:26%;width:14%}.nv-calc__m3 img{height:34%}
.nv-calc__m4{left:27.5%;top:74%;width:14%}.nv-calc__m4 img{height:38%}
.nv-calc__m5{left:72.5%;top:74%;width:14%}.nv-calc__m5 img{height:38%}
@media (max-width:900px){.nv-calc{border-radius:0 64px 0 0}.nv-calc__art{order:1}}

/* Case studies (tabbed) */
.nv-cases{background:#FFFFFF;padding:clamp(52px,7.2vw,104px) 0 clamp(56px,7.6vw,110px)}
.nv-cases__head{display:flex;flex-wrap:nowrap;align-items:flex-end;justify-content:space-between;gap:20px}
.nv-cases .nv-h2{flex:0 1 760px;max-width:760px;font-size:clamp(28px,2.9vw,42px)}
.nv-cases__all{flex-shrink:0;display:inline-flex;gap:8px;align-items:center;white-space:nowrap;font-weight:600;font-size:13px;color:#28687F;padding-bottom:8px}
.nv-cases__rule{position:relative;margin-top:clamp(28px,2.8vw,40px);height:1px;background:#E9EAEC}
.nv-cases__rule::after{content:"";position:absolute;left:0;bottom:0;width:185px;height:3px;background:#80B9BF}
.nv-cases__tabsrow{margin-top:clamp(28px,3.3vw,47px);display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px}
.nv-tabs{display:flex;gap:4px;padding:6px;border-radius:999px;background:#FFFFFF;box-shadow:inset 0 0 0 1px #E9EAEC;overflow-x:auto;max-width:100%;scrollbar-width:none}
.nv-tab{flex-shrink:0;height:44px;padding:0 18px;border:0;border-radius:999px;cursor:pointer;white-space:nowrap;font-family:Raleway,system-ui,sans-serif;font-weight:500;font-size:14.5px;background:transparent;color:#414B4C;transition:background 200ms,color 200ms}
.nv-tab:first-child{padding:0 20px}
.nv-tab[aria-selected="true"]{background:#80B9BF;color:#103A4B;-webkit-text-stroke:.35px currentColor}
/* All tab panel (two columns: text + constellation) */
.nv-case{margin-top:clamp(28px,4.4vw,64px);display:grid;grid-template-columns:minmax(0,512fr) minmax(0,552fr);gap:clamp(32px,6.6vw,96px);align-items:start;transition:opacity 220ms cubic-bezier(.4,0,.2,1)}
.nv-case.is-fading{opacity:0}
.nv-case__panel{min-width:0;max-width:512px;display:flex;flex-direction:column;align-items:flex-start}
.nv-case__panel h3{margin:0;font-family:Comfortaa,system-ui,sans-serif;font-weight:500;font-size:clamp(22px,1.8vw,26px);line-height:1.22;color:#28687F}
.nv-case__copy{margin:24px 0 0;font-size:clamp(14px,1.04vw,15px);line-height:1.7;color:#414B4C;text-wrap:pretty}
.nv-case__points{margin-top:28px;display:flex;flex-direction:column;gap:18px}
.nv-point{display:flex;gap:16px;align-items:flex-start}
.nv-point__icon{width:26px;height:26px;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.nv-point__icon img{display:block;width:24px;height:24px;object-fit:contain}
.nv-point__text{font-size:clamp(14px,1.1vw,16px);line-height:1.6;color:#5E6B6C}
.nv-case__panel .nv-btn{margin-top:36px}
/* Figma "Image / brisbane-hotel-record-revenue": Tropical Teal veil + photo @60% + Art / overlay (glow + Sheet / 01 rects) */
.nv-case__art{position:relative;width:100%;max-width:552px;justify-self:end;aspect-ratio:552/520;border-radius:24px;background:#80B9BF;overflow:hidden}
.nv-case__veil{position:absolute;inset:0;background:linear-gradient(41.704deg,rgba(175,207,211,0.85) 14.66%,#80B9BF 55.61%,rgba(189,213,217,0.46) 85.27%)}
.nv-case__art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.6}
.nv-case__glow{position:absolute;left:48.6%;top:-68.3%;width:118.2%;height:104.3%;border-radius:50%;background:radial-gradient(closest-side,rgba(189,213,217,0.46) 0%,rgba(150,186,206,0.16) 50%,rgba(127,173,198,0) 100%)}
.nv-case__art i{position:absolute;width:66.7%;aspect-ratio:1;border-radius:14%;background:linear-gradient(40.011deg,rgba(255,255,255,0.07) 14.48%,rgba(255,255,255,0) 85.45%)}
.nv-case__art i:nth-of-type(1){left:26.4%;top:-41.2%}.nv-case__art i:nth-of-type(2){left:26.4%;top:29.6%}.nv-case__art i:nth-of-type(3){left:78.3%;top:-39%}.nv-case__art i:nth-of-type(4){left:81.9%;top:72.1%}
@media (max-width:900px){.nv-case{grid-template-columns:minmax(0,1fr)}.nv-case__panel{order:1}}

/* Case study cards (as the Case Studies page tab view: count line + 371-wide tiles) */
.nv-cases__count{margin-top:28px;font-size:14px;line-height:20px;color:#5E6B6C;white-space:pre-wrap}
.nv-cases__body{margin-top:16px;transition:opacity 200ms cubic-bezier(.4,0,.2,1)}
.nv-cases__body.is-fading{opacity:0}
.nv-cases__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:24px}
.nv-ccard{display:flex;flex-direction:column;min-height:434px;border-radius:16px;overflow:hidden;background:#FFFFFF;box-shadow:inset 0 0 0 1px rgba(40,104,127,.12);color:inherit;transition:box-shadow 200ms}
.nv-ccard:hover{box-shadow:inset 0 0 0 1px #80B9BF;color:inherit}
.nv-ccard__media{position:relative;flex-shrink:0;height:190px;overflow:hidden;background:#80B9BF}
.nv-ccard__media::before{content:"";position:absolute;inset:0;background:linear-gradient(58.613deg,rgba(175,207,211,0.85) 16.34%,#80B9BF 55.32%,rgba(189,213,217,0.46) 83.55%)}
.nv-ccard__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.6}
.nv-ccard__media i{position:absolute;width:66.7%;aspect-ratio:1;border-radius:14%;background:linear-gradient(40.011deg,rgba(255,255,255,0.07) 14.48%,rgba(255,255,255,0) 85.45%)}
.nv-ccard__media i:nth-of-type(1){left:48.6%;top:-68.3%;width:104%;aspect-ratio:1.204;border-radius:50%;background:radial-gradient(closest-side,rgba(189,213,217,0.46) 0%,rgba(150,186,206,0.16) 50%,rgba(127,173,198,0) 100%)}
.nv-ccard__media i:nth-of-type(2){left:26.4%;top:-41.2%}.nv-ccard__media i:nth-of-type(3){left:26.4%;top:29.6%}.nv-ccard__media i:nth-of-type(4){left:78.3%;top:-39%}.nv-ccard__media i:nth-of-type(5){left:81.9%;top:72.1%}
.nv-ccard__body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1}
.nv-ccard h3{margin:0;font-family:Comfortaa,system-ui,sans-serif;font-weight:500;font-size:20px;line-height:28px;color:#28687F;text-wrap:pretty}
.nv-ccard p{margin:4px 0 0;font-size:14px;line-height:22px;color:#414B4C;text-wrap:pretty}
.nv-ccard__tags{margin-top:auto;padding-top:20px;display:flex;flex-wrap:wrap;gap:8px}
.nv-ccard__tags span{height:24px;padding:0 12px;border-radius:999px;background:#EEF4F5;display:inline-flex;align-items:center;font-weight:600;font-size:10.5px;line-height:16px;color:#28687F;white-space:nowrap}
.nv-cases__empty{border-radius:24px;background:#F6F6F6;padding:44px 24px 28px;display:flex;flex-direction:column;align-items:center;text-align:center}
.nv-cases__empty img{width:36.8px;height:48px}
.nv-cases__empty h3{margin:32px 0 0;font-family:Comfortaa,system-ui,sans-serif;font-weight:500;font-size:24px;line-height:32px;color:#28687F}
.nv-cases__empty p{margin:12px 0 0;max-width:640px;font-size:15px;line-height:26px;color:#5E6B6C;text-wrap:pretty}
.nv-cases__empty .nv-btn{margin-top:4px}
@media (max-width:900px){.nv-cases__head{flex-wrap:wrap}}

/* Reviews carousel (Figma 30 Sep testimonial card: centred quote icon, 17px centred quote, name + role at the bottom; arrows either side of the dots) */
.nv-reviews{background:#F6F6F6;padding:clamp(52px,7.2vw,104px) 0 clamp(48px,6.9vw,100px)}
.nv-reviews .nv-h2{margin:0 auto;padding:0 24px;max-width:926px;text-align:center;font-size:clamp(24px,2.5vw,36px);text-wrap:balance}
.nv-carousel--reviews{margin-top:clamp(36px,5.6vw,80px);flex-direction:column;align-items:stretch;padding:0 24px}
.nv-reviews .nv-carousel__viewport{width:100%;max-width:1160px;margin:0 auto}
.nv-reviews .nv-carousel__track{gap:24px;align-items:stretch;transition:transform 520ms cubic-bezier(.16,1,.3,1)}
.nv-reviews__controls{margin-top:36px;display:flex;align-items:center;justify-content:center;gap:28px}
.nv-reviews .nv-arrow{width:48px;height:48px;border-radius:999px}
.nv-reviews .nv-arrow img{width:8px;height:16px}
.nv-reviews .nv-dots{margin:0 -8px;flex-wrap:wrap;gap:0;padding:0}
.nv-carousel--reviews.is-single .nv-reviews__controls{display:none}
.nv-review{margin:0;flex:0 0 calc((100% - 48px) / 3);min-height:440px;box-sizing:border-box;border-radius:24px;background:#FFFFFF;box-shadow:inset 0 0 0 1px #E9EAEC;padding:32px;display:flex;flex-direction:column;align-items:center;text-align:center}
.nv-review__icon{width:28px;height:20px;margin-top:4px}
.nv-review blockquote{margin:28px 0 0;flex:1;font-family:Raleway,system-ui,sans-serif;font-weight:400;font-size:17px;line-height:1.7;color:#414B4C;text-wrap:pretty}
.nv-review__logo{margin-top:28px;width:140px;height:56px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.nv-review__logo img{display:block;max-width:140px;max-height:56px;object-fit:contain}.nv-review__logo+figcaption{margin-top:16px}
.nv-review figcaption{margin-top:28px;display:flex;flex-direction:column;align-items:center;gap:6px}
.nv-review__co{font-family:Comfortaa,system-ui,sans-serif;font-weight:500;font-size:18px;line-height:1.24;color:#28687F}
.nv-review__role{font-family:Raleway,system-ui,sans-serif;font-weight:400;font-size:14px;line-height:1.6;color:#5E6B6C}
@media (max-width:1200px){.nv-review{flex-basis:calc((100% - 24px) / 2)}}
@media (max-width:900px){.nv-review{flex-basis:100%}.nv-reviews .nv-arrow{width:40px;height:40px}.nv-carousel--reviews{margin-top:37px}.nv-reviews .nv-carousel__viewport{max-width:342px}.nv-reviews__controls{margin-top:24px}}

/* Members and partners (Figma "10 · Partners"): same logo carousel as Trusted by; a set that fits one view hides arrows + dots */
.nv-members{background:#F6F6F6;padding:48px 0 56px}
.nv-members__label{margin:0;padding:0 24px;text-align:center;font-weight:600;font-size:12px;line-height:1.4;letter-spacing:.1em;color:#5E6B6C}
.nv-members .nv-carousel{margin-top:27px;gap:clamp(8px,3.1vw,44px);padding:0 clamp(12px,3.6vw,52px)}
.nv-members .nv-arrow{width:44px;height:44px;border-radius:22px}
.nv-members .nv-arrow img{width:7px;height:17px}
.nv-members .nv-carousel__viewport{max-width:1160px}
.nv-members .nv-carousel__track{gap:20px;transition:transform 480ms cubic-bezier(.16,1,.3,1)}
.nv-members .nv-dots{margin-top:24px}
.nv-members .nv-carousel.is-single .nv-arrow{visibility:hidden}
.nv-members .nv-carousel.is-single ~ .nv-dots{display:none}
.nv-members .nv-carousel.is-single .nv-carousel__track{justify-content:center}
.nv-logo__name{padding:0 16px;text-align:center;font-weight:600;font-size:13px;line-height:1.4;color:#5E6B6C}

/* Book your discovery call */
.nv-discovery{position:relative;overflow:hidden;background:linear-gradient(69.664deg,#28687F 17.16%,#28687F 55.18%,#3E7F96 82.72%);padding:clamp(52px,7.2vw,104px) 0 clamp(56px,6.9vw,100px)}
.nv-discovery__glow{position:absolute;right:-380px;top:-470px;width:1000px;height:820px;border-radius:50%;background:radial-gradient(500px 410px at 50% 50%,rgba(170,210,214,.44) 0%,rgba(107,161,191,.15) 50%,rgba(62,127,150,0) 100%)}
.nv-discovery__sheet{position:absolute;right:-360px;top:-500px;width:900px;height:900px;border-radius:190px;background:linear-gradient(40deg,rgba(255,255,255,.07) 14.51%,rgba(255,255,255,0) 85.49%)}
.nv-discovery__scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,58,75,.1) 0%,rgba(16,58,75,.34) 50%,rgba(16,58,75,.16) 100%)}
.nv-discovery__inner{position:relative;max-width:840px;margin:0 auto;padding:0 24px;text-align:center;display:flex;flex-direction:column;align-items:center}
.nv-discovery .nv-h2{font-size:clamp(28px,2.9vw,42px);line-height:1.24;color:#F6F6F6}
.nv-discovery p{margin:clamp(16px,1.6vw,24px) 0 0;font-size:clamp(15px,1.39vw,20px);line-height:1.7;color:#E3EDF3;text-wrap:pretty}
.nv-discovery .nv-btn{margin-top:clamp(28px,3vw,44px)}

/* Enquiry form band */
.nv-enquiry{background:#F6F6F6;padding:clamp(40px,6.7vw,96px) 0;scroll-margin-top:85px}
/* Form privacy notice (Figma: 14/22 Blue Slate, replaces the prototype's consent checkbox) + send error */
.nv-form__notice{margin:30px 0 0;font-size:14px;line-height:22px;color:#28687F;text-wrap:pretty}
.nv-form__err--send{margin-top:14px;text-align:center}
.nv-form__submit:disabled{opacity:.6;cursor:progress}
.nv-enquiry .nv-wrap{padding:0 clamp(16px,9.72vw,140px)}

/* Hero video (Home, per region): image shows first, video fades in once it can play; hidden for reduced motion */
.nv-hero__video{position:absolute;left:-8px;right:0;top:-22%;bottom:0;width:calc(100% + 8px);height:122%;object-fit:cover;object-position:center;opacity:0;transition:opacity 900ms ease;pointer-events:none}
.nv-hero__video.is-on{opacity:.6}
@media (prefers-reduced-motion:reduce){.nv-hero__video{display:none}}
.nv-hero__img{transition:opacity 900ms ease}
.nv-hero.has-video .nv-hero__img{opacity:0}

/* Logo marquee (trusted by + members) — 30 Sep: infinite scroll replaces arrows + dots */
.nv-marquee{position:relative;overflow:hidden;margin-top:clamp(28px,3.3vw,48px);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 clamp(24px,6vw,120px),#000 calc(100% - clamp(24px,6vw,120px)),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 clamp(24px,6vw,120px),#000 calc(100% - clamp(24px,6vw,120px)),transparent 100%)}
.nv-marquee__track{display:flex;gap:20px;width:max-content;animation:nv-marquee var(--nv-mq-dur,60s) linear infinite}
.nv-marquee:hover .nv-marquee__track,.nv-marquee:focus-within .nv-marquee__track{animation-play-state:paused}
.nv-marquee .nv-logo{flex:0 0 216px;width:216px}
@keyframes nv-marquee{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 10px))}}
.nv-trusted--service .nv-marquee{margin-top:clamp(28px,7.2vw,104px)}
.nv-members .nv-marquee{margin-top:27px}
@media (max-width:900px){.nv-marquee .nv-logo{flex-basis:170px;width:170px;height:86px}.nv-marquee .nv-logo img{height:86px}.nv-trusted--service .nv-marquee{margin-top:34px}}
@media (prefers-reduced-motion:reduce){.nv-marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none}.nv-marquee__track{animation:none;padding:0 24px}.nv-marquee [aria-hidden="true"]{display:none}}
.nv-trusted--service{padding-bottom:calc(clamp(44px,2.8vw,41px) + 44px)}.nv-members{padding-bottom:88px}
/* marquee width = old carousel viewport (between the arrows), 1160 max */
.nv-marquee{margin-left:auto;margin-right:auto;max-width:1160px;width:calc(100% - 2 * (clamp(12px,3.6vw,52px) + 44px + clamp(8px,3.1vw,44px)));-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 32px,#000 calc(100% - 32px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 32px,#000 calc(100% - 32px),transparent 100%)}
@media (max-width:900px){.nv-marquee{width:calc(100% - 2 * (clamp(12px,3.6vw,52px) + 44px + clamp(8px,3.1vw,44px)))}.nv-trusted--service .nv-marquee{width:calc(100% - 152px)}}
@media (prefers-reduced-motion:reduce){.nv-marquee{-webkit-mask-image:none;mask-image:none}}
/* marquee hover: greyscale logos, the hovered one turns full colour + lifts (30 Sep) */
.nv-marquee{padding:10px 0;margin-bottom:-10px}.nv-trusted .nv-marquee{margin-top:calc(clamp(28px,3.3vw,48px) - 10px)}.nv-trusted--service .nv-marquee{margin-top:calc(clamp(28px,7.2vw,104px) - 10px)}.nv-members .nv-marquee{margin-top:17px}
.nv-marquee .nv-logo{transition:transform 320ms cubic-bezier(.16,1,.3,1),box-shadow 320ms ease}.nv-marquee .nv-logo img{filter:grayscale(1);opacity:.7;transition:filter 320ms ease,opacity 320ms ease}
.nv-marquee .nv-logo:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1px #E9EAEC,0 12px 28px rgba(16,58,75,.12)}.nv-marquee .nv-logo:hover img{filter:none;opacity:1}
@media (max-width:900px){.nv-trusted--service .nv-marquee{margin-top:24px}}
@media (hover:none){.nv-marquee .nv-logo img{filter:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.nv-marquee .nv-logo:hover{transform:none}}
/* room for the hover lift + shadow (was clipping at 10px) */
.nv-marquee{padding:20px 0 40px;margin-bottom:-40px}.nv-trusted .nv-marquee{margin-top:calc(clamp(28px,3.3vw,48px) - 20px)}.nv-trusted--service .nv-marquee{margin-top:calc(clamp(28px,7.2vw,104px) - 20px)}.nv-members .nv-marquee{margin-top:7px}
@media (max-width:900px){.nv-trusted--service .nv-marquee{margin-top:14px}}
