/* GENERATED by scripts/build-css.sh from: nuvho.css sections.css core-extras.css - do not edit, edit the sources and rebuild. */
/* Nuvho — shared stylesheet for the Craft templates. Values are the Figma values used in the Claude Design prototype (pass 1–5). */
@font-face{font-family:"Comfortaa";src:url("/static/fonts/Comfortaa-VariableFont_wght.woff2") format("woff2"),url("/static/fonts/Comfortaa-VariableFont_wght.ttf") format("truetype");font-weight:300 700;font-display:swap}
@font-face{font-family:"Raleway";src:url("/static/fonts/Raleway-VariableFont_wght.woff2") format("woff2"),url("/static/fonts/Raleway-VariableFont_wght.ttf") format("truetype");font-weight:100 900;font-display:swap}
html{scroll-behavior:smooth}
body{margin:0;background:#FFFFFF;-webkit-font-smoothing:antialiased;font-family:Raleway,system-ui,sans-serif;color:#414B4C}
a{color:#28687F;text-decoration:none}a:hover{color:#3E7F96}
[hidden]{display:none!important}
.nv-page{overflow-x:clip}
.nv-wrap{max-width:1160px;margin:0 auto;padding:0 clamp(24px,9.72vw,140px);box-sizing:content-box}
.nv-h2{margin:0;font-family:Comfortaa,system-ui,sans-serif;font-weight:500;line-height:1.22;color:#28687F}
.nv-grain{position:absolute;inset:0;pointer-events:none;background:url(/static/img/grain.svg) repeat;background-size:240px 240px;mix-blend-mode:overlay;opacity:1}
.nv-abs{position:absolute}
.nv-m{display:none}
@media (max-width:900px){.nv-d{display:none}.nv-m{display:inline}}

/* Pill buttons: hover grows 5px each side with matching negative margins (no layout change) */
.nv-btn{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 32px;border-radius:999px;font-family:Raleway,system-ui,sans-serif;font-weight:600;font-size:16px;box-sizing:border-box;transition:padding 220ms cubic-bezier(.4,0,.2,1),background 220ms}
.nv-btn:hover{padding:0 37px;margin-left:-5px;margin-right:-5px}
.nv-btn--outline{box-shadow:inset 0 0 0 1.25px #28687F;color:#28687F}.nv-btn--outline:hover{background:#EEF4F5;color:#28687F}
.nv-btn--white{background:#FFFFFF;color:#28687F}.nv-btn--white:hover{color:#28687F}
.nv-btn--hero{background:#FFFFFF;color:#597B8C;white-space:nowrap}.nv-btn--hero:hover{color:#28687F}
.nv-btn--ghost{box-shadow:inset 0 0 0 1.25px #FFFFFF;color:#FFFFFF;white-space:nowrap}.nv-btn--ghost:hover{background:rgba(255,255,255,.12);color:#FFFFFF}
.nv-btn--mist{background:#F6F6F6;color:#28687F}.nv-btn--mist:hover{color:#28687F}
.nv-btn--lg{height:56px}
@media (max-width:900px){.nv-btn--full-m{width:100%}}

/* Header */
.nv-header{position:sticky;top:0;z-index:60;background:#FFFFFF;font-family:Raleway,system-ui,sans-serif}
.nv-header__bar{height:85px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 clamp(24px,9.72vw,140px);box-shadow:inset 0 -1px 0 #E9EAEC}
.nv-header__logo{display:flex;align-items:center;flex-shrink:0}
.nv-header__logo img{height:36px;width:auto;display:block}
.nv-nav{display:flex;align-items:center;gap:34px;height:85px;margin-left:auto}
.nv-nav__item{position:relative;height:85px;display:flex;align-items:center;gap:8px;padding:0;border:0;background:none;cursor:pointer;font-family:Raleway,system-ui,sans-serif;font-weight:600;font-size:15.5px;line-height:1.4;white-space:nowrap;color:#414B4C}
.nv-nav__item:hover{color:#414B4C}
.nv-nav__item::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:#28687F;opacity:0}
.nv-nav__item.is-open,.nv-nav__item.is-active{color:#28687F}
.nv-nav__item.is-open::after,.nv-nav__item.is-active::after{opacity:1}
.nv-nav__chev{width:10px;height:5px;transition:transform 200ms cubic-bezier(.4,0,.2,1)}
.nv-nav__item.is-open .nv-nav__chev{transform:rotate(180deg)}
.nv-header__cta{margin-left:14px;display:inline-flex;align-items:center;justify-content:center;height:54px;padding:0 32px;border-radius:999px;background:#28687F;color:#FFFFFF;font-weight:600;font-size:15.5px;line-height:1.4;white-space:nowrap;transition:padding 220ms cubic-bezier(.4,0,.2,1),background 220ms}
.nv-header__cta:hover{padding:0 37px;margin-left:9px;margin-right:-5px;background:#414B4C;color:#FFFFFF}
.nv-burger{display:none;width:44px;height:44px;margin-right:-8px;border:0;background:transparent;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer}
.nv-burger span{width:26px;height:2.5px;border-radius:2px;background:#414B4C}
.nv-burger img{display:none;width:18px;height:18px}
.nv-burger.is-open span{display:none}.nv-burger.is-open img{display:block}
.nv-mega{position:absolute;top:85px;left:0;right:0;background:#FFFFFF;box-shadow:inset 0 -1px 0 #E9EAEC}
.nv-mega__bar{height:3px;background:linear-gradient(90deg,#28687F 0%,#3E7F96 62%,#80B9BF 100%)}
.nv-mega__inner{max-width:1160px;margin:0 auto;padding:40px clamp(24px,9.72vw,140px) 42px;display:flex;gap:40px;box-sizing:content-box}
.nv-mega__panel{position:relative;overflow:hidden;flex:0 0 320px;min-height:300px;border-radius:24px;padding:44px 36px;box-sizing:border-box;background:linear-gradient(35.676deg,#28687F 14.04%,#3F8B9A 44.25%,#80B9BF 85.96%)}
.nv-mega__glow{left:120px;top:-180px;width:420px;height:340px;border-radius:50%;background:radial-gradient(210px 170px at 50% 50%,rgba(233,234,236,.55) 0%,rgba(128,185,191,.2) 50%,rgba(128,185,191,0) 100%)}
.nv-mega__s1{left:160px;top:-60px;width:260px;height:190px;border-radius:0 0 0 110px;background:linear-gradient(200deg,rgba(255,255,255,.34),rgba(255,255,255,.12))}
.nv-mega__s2{left:170px;bottom:-40px;width:240px;height:130px;border-radius:90px 0 0 0;background:linear-gradient(40deg,rgba(255,255,255,.07),rgba(255,255,255,.2))}
.nv-mega__h{position:relative;font-family:Comfortaa,system-ui,sans-serif;font-weight:500;font-size:30px;line-height:1.2;color:#FFFFFF}
.nv-mega__statement{position:relative;margin-top:16px;max-width:212px;font-weight:600;font-size:15.5px;line-height:1.65;color:#E9EAEC}
.nv-mega__div{width:1px;background:#E9EAEC;flex-shrink:0}
.nv-mega__links{flex:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;row-gap:46px;align-content:start;padding-top:26px}
.nv-mlink{position:relative;overflow:hidden;display:flex;gap:13px;align-items:flex-start;padding:16px 18px;margin:-16px -18px;border-radius:16px;background:rgba(107,161,191,0);transition:background 240ms cubic-bezier(.4,0,.2,1)}
.nv-mlink__art{opacity:0;transition:opacity 240ms}
.nv-mlink__s1{right:-70px;top:-90px;width:160px;height:160px;border-radius:48px;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-mlink__s2{left:-60px;top:60px;width:150px;height:150px;border-radius:46px;background:linear-gradient(40.011deg,rgba(164,202,206,.24) 14.48%,rgba(255,255,255,.03) 85.45%)}
.nv-mlink__icon{position:relative;width:36px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:flex-start}
.nv-mlink__icon img{display:block;width:28px;height:28px;object-fit:contain;transition:filter 240ms}
.nv-mlink__text{position:relative;display:flex;flex-direction:column;gap:8px}
.nv-mlink__t{font-family:Comfortaa,system-ui,sans-serif;font-weight:500;font-size:16px;line-height:1.26;color:#28687F;transition:color 240ms}
.nv-mlink__d{font-size:13.5px;line-height:1.6;color:#5E6B6C;transition:color 240ms}
.nv-mlink:hover,.nv-mlink:focus-visible{background:#6BA1BF}
.nv-mlink:hover .nv-mlink__art,.nv-mlink:focus-visible .nv-mlink__art{opacity:1}
.nv-mlink:hover .nv-mlink__icon img,.nv-mlink:focus-visible .nv-mlink__icon img{filter:brightness(0) invert(1)}
.nv-mlink:hover .nv-mlink__t,.nv-mlink:focus-visible .nv-mlink__t{color:#FFFFFF}
.nv-mlink:hover .nv-mlink__d,.nv-mlink:focus-visible .nv-mlink__d{color:#FFFFFF;-webkit-text-stroke:.35px currentColor}
.nv-drawer{position:fixed;top:85px;left:0;right:0;bottom:0;overflow-y:auto;background:#FFFFFF;z-index:70}
.nv-drawer__bar{height:3px;background:#80B9BF}
.nv-drawer__item{margin:0 24px;width:calc(100% - 48px);height:57px;display:flex;align-items:center;justify-content:space-between;padding:0;border:0;background:none;cursor:pointer;box-shadow:inset 0 -1px 0 #E9EAEC;font-family:Comfortaa,system-ui,sans-serif;font-weight:500;font-size:19px;color:#28687F;text-align:left}
.nv-drawer__item img{width:13px;height:7px;transition:transform 200ms}
.nv-drawer__item[aria-expanded="true"] img{transform:rotate(180deg)}
.nv-drawer__sub{background:#EEF4F5;padding:24px 24px 26px;display:flex;flex-direction:column;gap:22px}
.nv-drawer__statement{font-weight:600;font-size:13px;line-height:1.5;color:#414B4C}
.nv-dlink{display:flex;gap:14px;align-items:flex-start}
.nv-dlink__icon{width:26px;flex-shrink:0;padding-top:2px}.nv-dlink__icon img{display:block;width:24px;height:24px;object-fit:contain}
.nv-dlink__text{display:flex;flex-direction:column;gap:4px}
.nv-dlink__t{font-weight:600;font-size:15px;line-height:1.35;color:#28687F}
.nv-dlink__d{font-size:13px;line-height:1.5;color:#5E6B6C}
.nv-drawer__cta{padding:32px 24px 48px}
.nv-drawer__cta a{display:flex;align-items:center;justify-content:center;height:52px;border-radius:999px;background:#28687F;color:#FFFFFF;font-weight:600;font-size:16px}
@media (max-width:1100px){.nv-nav,.nv-header__cta,.nv-mega{display:none}.nv-burger{display:flex}}
@media (min-width:1101px){.nv-drawer{display:none!important}}
@media (max-width:900px){.nv-header__bar{height:64px}.nv-header__logo img{height:31px}.nv-drawer{top:64px}}

/* Footer */
.nv-footer{background:#414B4C;color:#FFFFFF;font-family:Raleway,system-ui,sans-serif}
.nv-footer__top{max-width:1160px;margin:0 auto;padding:64px clamp(24px,9.72vw,140px) 0;box-sizing:content-box;display:flex;flex-wrap:wrap;justify-content:space-between;gap:48px}
.nv-footer__brand{display:flex;flex-direction:column;gap:32px}
.nv-footer__logo img{width:clamp(220px,21.3vw,307px);height:auto;display:block}
.nv-footer__social{display:flex;gap:12px}
.nv-footer__social a{width:38px;height:38px;border-radius:999px;background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);display:flex;align-items:center;justify-content:center}
.nv-footer__social a:hover{background:rgba(255,255,255,.2)}
.nv-footer__social img{width:13.3px;height:13.3px}
.nv-footer__cols{display:flex;flex-wrap:wrap;gap:clamp(32px,4.5vw,64px);text-align:right}
.nv-footer__col{display:flex;flex-direction:column;gap:10px;min-width:150px}
.nv-footer__col-h{font-family:Comfortaa,system-ui,sans-serif;font-weight:500;font-size:17px;line-height:1.3;color:#FFFFFF;margin-bottom:8px}
.nv-footer__col a{font-size:13px;line-height:1.5;color:#E9EAEC}.nv-footer__col a:hover{color:#80B9BF}
.nv-footer__rule{max-width:1240px;margin:56px auto 0;height:1px;background:rgba(255,255,255,.16)}
.nv-footer__bottom{max-width:1160px;margin:0 auto;padding:28px clamp(24px,9.72vw,140px) 32px;box-sizing:content-box;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.nv-footer__copy{font-size:13px;line-height:1.5;flex:1 1 200px}
.nv-regions{display:flex;align-items:center}
.nv-region{width:44px;height:35px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-family:Raleway,system-ui,sans-serif;font-weight:600;font-size:12.5px;color:#FFFFFF;background:transparent}
.nv-region:hover{color:#FFFFFF}.nv-region[aria-current="true"]{background:#80B9BF;color:#103A4B}
.nv-footer__legal{display:flex;gap:11px;justify-content:flex-end;flex:1 1 200px}
.nv-footer__legal a{font-size:13px;line-height:1.5;color:#FFFFFF}.nv-footer__legal a:hover{color:#80B9BF}
@media (max-width:900px){.nv-footer__cols{text-align:left}}

/* Enquiry form */
.nv-form{background:#FFFFFF;border-radius:24px;padding:clamp(24px,3.33vw,48px);font-family:Raleway,system-ui,sans-serif;color:#414B4C;box-sizing:border-box}
.nv-form__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));column-gap:40px;row-gap:28px}
.nv-field{display:flex;flex-direction:column;gap:6px}
.nv-field__label{font-weight:600;font-size:13px;line-height:18px}
.nv-field input{height:48px;border:0;border-radius:8px;background:#F6F6F6;padding:0 14px;font:inherit;font-size:15px;color:#414B4C;outline:none;box-shadow:inset 0 0 0 1px rgba(40,104,127,0.12)}
.nv-field input:focus{box-shadow:inset 0 0 0 1.5px #28687F}
.nv-field.is-invalid input{box-shadow:inset 0 0 0 1.5px #982649}
.nv-field__error{font-size:12px;color:#982649}
.nv-form__services{border:0;padding:0;margin:34px 0 0;min-width:0}
.nv-form__services legend{padding:0;font-weight:600;font-size:13px;line-height:18px}
.nv-form__helper{font-size:13px;line-height:19px;color:#5E6B6C;margin-top:4px}
.nv-form__options{margin-top:22px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));column-gap:40px;row-gap:12px}
.nv-check{display:flex;align-items:center;gap:12px;cursor:pointer;font-size:14px;line-height:20px}
.nv-check input{width:16px;height:16px;margin:0;accent-color:#28687F;flex-shrink:0}
.nv-form__consent{margin-top:30px;align-items:flex-start}.nv-form__consent input{margin:2px 0 0}
.nv-form__err{margin-top:8px;font-size:12px;color:#982649}
.nv-form__err--consent{margin:6px 0 0 28px}
.nv-form__submit-row{display:flex;justify-content:center;margin-top:28px}
.nv-form__submit{width:min(100%,290px);height:56px;border:0;border-radius:999px;background:#28687F;color:#FFFFFF;font-family:Raleway,system-ui,sans-serif;font-weight:600;font-size:16px;cursor:pointer;transition:width 220ms cubic-bezier(.4,0,.2,1),background 220ms}
.nv-form__submit:hover{background:#3E7F96;width:min(100%,300px)}
.nv-form__done{padding:48px 0;text-align:center;display:flex;flex-direction:column;gap:12px;align-items:center}
.nv-form__done-h{font-family:Comfortaa,system-ui,sans-serif;font-weight:500;font-size:28px;color:#28687F}
.nv-form__done-m{font-size:16px;line-height:1.6;color:#5E6B6C}

/* Mobile footer — Figma Mobile Top Pages "13 · Footer" (390 wide): everything centred; logo 180; socials; single centred link column; rule; region switch → legal links → copyright */
@media (max-width:900px){
  .nv-footer__top{flex-direction:column;align-items:center;text-align:center;padding:48px 24px 0;gap:40px}
  .nv-footer__brand{align-items:center;gap:24px}
  .nv-footer__logo img{width:180px;height:auto}
  .nv-footer__social{justify-content:center}
  .nv-footer__cols{width:100%;flex-direction:column;align-items:center;text-align:center;gap:32px}
  .nv-footer__col{align-items:center;min-width:0}
  .nv-footer__col-h{font-size:17px;line-height:24px}
  .nv-footer__rule{margin:48px 24px 0}
  .nv-footer__bottom{flex-direction:column;align-items:center;justify-content:flex-start;padding:31px 24px 48px;gap:22px}
  .nv-footer__bottom .nv-regions{order:1}
  .nv-footer__legal{order:2;flex:none;justify-content:center;gap:24px}
  .nv-footer__copy{order:3;flex:none;text-align:center;line-height:20px}
}
/* Desktop footer re-matched to the Figma frame (1440×512), 30 Sep: content 140–1300; logo 281 at x150/y86; socials 50 below; columns 62 below the logo top,
   right-aligned, 64 apart (min 160 at ≥1300), 14px links on a 32px rhythm; rule 73 below; legal 24 apart; UK | IE divider. Never wraps above 900px. */
@media (min-width:901px){
  .nv-footer__top{max-width:none;box-sizing:border-box;padding:86px max(24px,calc(50% - 580px)) 0;flex-wrap:nowrap;gap:clamp(24px,3.3vw,48px)}
  .nv-footer__brand{flex:0 0 auto;gap:50px}
  .nv-footer__logo{margin-left:10px}
  .nv-footer__logo img{width:clamp(170px,calc(38vw - 266px),281px)}
  .nv-footer__cols{flex:0 1 auto;min-width:0;margin-top:62px;flex-wrap:nowrap;gap:clamp(24px,4.44vw,64px);text-align:right}
  .nv-footer__col{flex:0 1 auto;min-width:0;gap:11px;align-items:flex-end}
  .nv-footer__col-h{line-height:22px;margin-bottom:15px}
  .nv-footer__col a{font-size:13px;line-height:1.5}
  .nv-footer__rule{max-width:1240px;box-sizing:content-box;margin:73px max(24px,calc(50% - 620px)) 0}
  .nv-footer__bottom{max-width:none;box-sizing:border-box;padding:28px max(24px,calc(50% - 580px)) 30px}
  .nv-footer__legal{gap:24px}
  .nv-region:not([aria-current="true"]){width:auto;min-width:0;padding:0 14px;position:relative}
  .nv-region:not([aria-current="true"]) + .nv-region:not([aria-current="true"])::before{content:"";position:absolute;left:0;top:50%;width:1px;height:12px;margin-top:-6px;background:rgba(255,255,255,.35)}
}
@media (min-width:1200px){.nv-footer__col a{font-size:14px}}
@media (min-width:1300px){.nv-footer__col{min-width:160px}}

/* Link affordance (1 Oct, user): arrow badge top-right on every card that links somewhere. Teal on light cards, white on hover / on photos. */
.nv-linkicon{position:absolute;top:20px;right:20px;z-index:3;width:36px;height:36px;border-radius:50%;background:#EEF4F5;display:flex;align-items:center;justify-content:center;pointer-events:none;transition:background 220ms,transform 220ms cubic-bezier(.4,0,.2,1)}
.nv-linkicon::before{content:"";width:16px;height:16px;background:#28687F;-webkit-mask:url(/static/icons/arrow-up-right.svg) center/contain no-repeat;mask:url(/static/icons/arrow-up-right.svg) center/contain no-repeat;transition:background 220ms}
.nv-card{position:relative}
.nv-card:hover .nv-linkicon,.nv-card:focus-within .nv-linkicon{background:rgba(255,255,255,.2);transform:translate(2px,-2px)}
.nv-card:hover .nv-linkicon::before,.nv-card:focus-within .nv-linkicon::before{background:#FFFFFF}
.nv-ccard,.cs-kcard{position:relative}
.nv-ccard .nv-linkicon,.cs-kcard .nv-linkicon{top:16px;right:16px;background:rgba(255,255,255,.92)}
.nv-ccard:hover .nv-linkicon,.cs-kcard:hover .nv-linkicon{background:#FFFFFF;transform:translate(2px,-2px)}
@media (max-width:900px){.nv-linkicon{top:16px;right:16px;width:32px;height:32px}.nv-linkicon::before{width:14px;height:14px}}

/* 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 auto;padding:0 24px;max-width:920px;text-align:center;font-family:Comfortaa,system-ui,sans-serif;font-weight:500;font-size:clamp(24px,2.5vw,36px);line-height:1.22;letter-spacing:0;color:#28687F;text-wrap:balance}
.nv-members .nv-carousel{margin-top:40px;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}}

/* 5 Oct 2026: a review set that fits one view (UK/IE: 2-3 reviews) sits centred. */
.nv-carousel--reviews.is-single .nv-carousel__track{justify-content:center}

/* Core extras (12 Oct 2026, render-blocking ticket). Rules moved out of the async stylesheets because they must be present at first paint:
   - .nv-sr (from region.css): screen-reader-only utility, also used by case-study.js.
   - .nv-hsform shell (from hsform.css): reserves the enquiry card's box before HubSpot injects the form, so hsform.css can load async without a layout shift.
   Bundled into core.bundle.css / service.bundle.css by scripts/build-css.sh. */
.nv-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nv-hsform{border-radius:24px;background:#FFFFFF;padding:48px;box-sizing:border-box;min-height:420px;font-family:Raleway,system-ui,sans-serif;color:#414B4C}
@media (max-width:900px){.nv-hsform{padding:28px 20px}}

