/* Homepage polish: tighter sections that fit one screen, scenic mascot backdrops, dark footer. */

/* 1. Compact sections (desktop) */
@media(min-width:821px){
.nc-hybrid .ts-wrap{padding-block:clamp(34px,4.4vh,48px)}
.nc-hybrid .ts-section h2{font-size:clamp(30px,3.2vw,44px);line-height:1.08}
.nc-hybrid .ts-intro{margin-bottom:18px}
.nc-hybrid .ts-intro>p{font-size:16px;line-height:1.55}
.nc-hybrid .ts-categories{margin-bottom:18px}
.nc-hybrid .ts-categories button{padding-block:11px;font-size:16px}
.nc-hybrid .ts-service-list{gap:8px}
.nc-hybrid .ts-service-list button{padding:13px 18px;min-height:0}
.nc-hybrid .ts-service-list button .ts-role-copy{font-size:14px;line-height:1.4;margin-top:4px}
.nc-hybrid .ts-service-list button>span:first-child{font-size:20px}
.nc-hybrid .ts-demo-ground,.nc-hybrid .ts-dossier-stage{padding:clamp(16px,2vw,26px)}
.nc-hybrid .ts-section .ts-document{padding:20px 24px}
.nc-hybrid .ts-section .ts-document h3{font-size:clamp(21px,2vw,27px);margin-bottom:10px}
.nc-hybrid .ts-section .ts-document th,.nc-hybrid .ts-section .ts-document td{padding-block:8px;font-size:14px}
.nc-hybrid .ts-section .ts-document p,.nc-hybrid .ts-section .ts-document li{font-size:14.5px;line-height:1.5}
.nc-hybrid .ts-service-caption{margin-top:12px}
.nc-hybrid .ts-service-close{margin-top:16px}
.nc-hybrid .ts-handoff-tabs{margin-bottom:18px}
.nc-hybrid .ts-handoff .ts-intro{margin-bottom:16px}
.nc-hybrid .ts-faq .ts-wrap{padding-block:clamp(34px,4.4vh,48px)}
.nc-hybrid .ts-faq .ts-questions summary{padding-block:15px}
.nc-hybrid .ts-faq .ts-questions .ts-answer p{padding-bottom:16px;line-height:1.6}
.nc-hybrid .nc-screening-art{height:auto}
.nc-hybrid .nc-screening-tabs button{padding:12px 14px}
.nc-hybrid .nc-screening-tabs button[aria-selected=true]{padding:11px 13px 12px}
.nc-hybrid .ts-dossier-layout{gap:20px}
.nc-hybrid .ts-assurance{margin-top:14px}
}

/* 2. Nomi backdrops: "Find your specialist" office and "See what we check" screening room */
.nc-intro-guide{position:relative;overflow:hidden;border-radius:26px;border:1px solid var(--nc-line,#d7c6a8);padding:14px 22px 0 18px;min-height:176px;align-items:flex-end;gap:12px;background:#f3e4cd url(/assets/nomi/scene-office.svg) center/cover no-repeat}
.nc-intro-guide .nc-character{width:118px;margin-bottom:-2px}
.nc-intro-guide .nc-speech{margin-bottom:22px;box-shadow:0 8px 20px -12px rgba(64,45,32,.45)}
.nc-guide-scene{overflow:hidden;border-radius:26px;border:1px solid var(--nc-line,#d7c6a8);padding:12px 22px 0 20px;min-height:230px;align-items:flex-end;background:#efe0c8 url(/assets/nomi/scene-vetting.svg) center/cover no-repeat}
.nc-guide-scene .nc-character{width:150px}
.nc-guide-scene .nc-guide-checklist{align-self:center;margin-left:auto;margin-right:6px;box-shadow:0 10px 22px -12px rgba(64,45,32,.5)}
.nc-vet-guide{padding:0 4px}

/* 3. Damon backdrop and heading weight on "Let's talk about the work" */
.nc-hybrid .ts-booking-companion{position:relative;overflow:hidden;border-radius:32px;border:1px solid #d9bea0;padding:0 20px 20px;min-height:380px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;background:#fbeedb url(/assets/damon/scene-trail.svg) center/cover no-repeat}
.nc-hybrid .ts-booking-companion .nc-character{position:relative;z-index:1;width:230px;margin:0 auto 10px}
.nc-hybrid .ts-booking-companion>p{position:absolute;top:22px;left:50%;transform:translateX(-50%) rotate(-1.5deg);margin:0;z-index:2;width:max-content;max-width:calc(100% - 40px);background:#fffaf2;border:1.5px solid #c4ad89;border-radius:16px;padding:12px 22px;font-family:var(--font-heading);font-weight:400;font-size:clamp(20px,2vw,26px);line-height:1.18;letter-spacing:-.015em;color:#402d20;text-align:center;box-shadow:0 10px 22px -12px rgba(64,45,32,.5)}
.nc-hybrid .ts-booking .ts-wrap{padding-block:clamp(34px,4.4vh,48px)}
.nc-hybrid .ts-booking-grid{align-items:stretch}

/* Second pass: trim tall illustration cards and table rows */
@media(min-width:821px){
.nc-hybrid .nc-screening-art{height:92px;margin-bottom:10px}
.nc-hybrid .nc-screening-tabs{gap:12px}
.nc-hybrid .nc-screening-tabs button{font-size:17px}
.nc-hybrid .ts-section .ts-document th,.nc-hybrid .ts-section .ts-document td{padding:6px 8px;font-size:13.5px;line-height:1.4}
.nc-hybrid .ts-section .ts-document .ts-doc-note{margin-top:12px}
.nc-hybrid .ts-section .ts-document h3{margin-bottom:8px}
.nc-hybrid .ts-handoff-example{gap:22px}
.nc-hybrid .ts-brief{padding:22px}
.nc-intro-guide{min-height:150px}
.nc-intro-guide .nc-character{width:104px}
.nc-intro-guide .nc-speech{margin-bottom:16px;padding:16px 18px}
.nc-guide-scene{min-height:0}
.nc-guide-scene .nc-character{width:140px}
}

@media(min-width:821px){
.taste-site .ts-demo-ground,.nc-hybrid .ts-demo-ground{min-height:0}
.nc-hybrid .ts-dossier-stage,.taste-site .ts-dossier-stage{min-height:0}
.nc-hybrid .ts-categories{padding:6px;margin-bottom:16px}
.taste-site .ts-categories button,.nc-hybrid .ts-categories button{padding-block:10px;min-height:44px}
}

@media(min-width:821px){
.nc-handoff-team .nc-character{width:84px}
.nc-hybrid .ts-handoff .ts-intro{align-items:end}
.nc-hybrid .ts-brief blockquote{font-size:clamp(18px,1.6vw,22px)!important;line-height:1.45!important;margin-block:10px}
.nc-hybrid .ts-brief>p{font-size:15px;line-height:1.5}
.nc-hybrid .ts-deliverable .ts-document{padding:18px 22px}
.nc-hybrid .ts-dossier-stage{padding:clamp(14px,1.6vw,20px)}
.nc-hybrid .ts-dossier-stage .ts-document{padding:16px 22px}
.nc-hybrid .ts-dossier-stage .ts-sample-label,.nc-hybrid .ts-deliverable .ts-sample-label{margin-top:8px}
}

@media(min-width:821px){
.nc-hybrid .ts-dossier-stage .ts-document,.nc-hybrid .ts-deliverable .ts-document,.nc-hybrid .ts-section .ts-document{min-height:0!important}
}

/* "Your next chapter starts here." journey: fit closer to one screen */
@media(min-width:821px){
#how.nv-story-journey>.nv-journey-wrap{padding-block:clamp(32px,4.4vh,44px)}
#how .nv-journey-heading{margin-bottom:14px}
#how .nv-journey-heading h2{margin:8px 0}
#how .nv-journey-step p{font-size:15px;line-height:1.5}
#how .nv-journey-number{margin:10px auto}
#how .nv-journey-step h3{margin-bottom:8px}
#how .nv-journey-step summary{padding:8px}
#how .nv-journey-footer{margin-top:10px}
}

/* Vetting artwork owns its space, including while its contents animate. */
.nc-hybrid .nc-screening-art {
  height: 180px;
  margin-bottom: 14px;
  padding: 16px;
  overflow: hidden;
  contain: paint;
}
.nc-hybrid .nc-screening-tabs button > span:not(.ts-stage-copy) {
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  min-height: 2.4em;
}
.nc-hybrid .nc-guide-scene.nc-vet-scene {
  padding: 0;
  min-height: 0;
  background: #fffaf2;
  aspect-ratio: 2 / 1;
}
.nc-vet-scene-image { display: block; width: 100%; height: auto; }
@media (max-width: 820px) {
  .nc-hybrid .nc-vet-guide { grid-template-columns: 1fr; gap: 16px; }
  .nc-hybrid .nc-vet-scene { width: 100%; max-width: 560px; }
}
@media (max-width: 520px) {
  .nc-hybrid .nc-screening-art { height: 140px; padding: 12px; }
}
@media (prefers-reduced-motion: no-preference) {
  .nc-in-view .nc-vet-scene-image { animation: nc-vet-scene-breathe 7s ease-in-out infinite alternate; }
}
@keyframes nc-vet-scene-breathe { to { transform: scale(1.025); } }
