/* Orange from the original logo, footer slate, and neutral surfaces. Client colors stay separate. */
:root {
    --nt-ink: #20242b;
    --nt-slate: #323841;
    --nt-orange-dark: #a34708;
    --nt-orange: #f58220;
    --nt-orange-hover: #ff9e4a;
    --nt-paper: #f8fafb;
    --nt-soft: #eceef1;
    --nt-ink-muted: #565e69;
    --nt-black: var(--nt-ink);
    --nt-dark: var(--nt-slate);
    --nt-white: var(--nt-paper);
    --nt-accent: var(--nt-orange);
    --nt-muted: #c3c6cb;
    --ink: var(--nt-ink);
    --slate: var(--nt-ink-muted);
    --violet: #a34708;
    --lime: var(--nt-orange);
    --cyan: var(--nt-orange-dark);
    --mist: var(--nt-paper);
}

/* Content sets the hero height; the restored visual never adds empty space. */
.nt-hero { min-height: 0; background: linear-gradient(324deg,var(--nt-slate) 0%,var(--nt-ink) 75%); }
.nt-hero::after { display: none; }
.nt-hero-frame { background: var(--nt-paper); }
/* Flush, square homepage sections; keep the navigation, cards and buttons rounded. */
.home .nt-hero-frame { padding: 0; }
.home .nt-hero,.home .nt-capabilities,.home .nt-products-section,.home .nt-faq { border-radius: 0; }
.home .nt-products-section { margin-top: 0; }
.home .nt-section { padding-block: clamp(56px,6vw,88px); }
.home .nt-capabilities { padding-bottom: 40px; }
.home .nt-work { padding-top: 20px; }
.home .nt-section-heading { margin-bottom: clamp(36px,4vw,56px); }
.home .nt-faq { padding-bottom: 24px; }
.home .nt-end { padding-top: 24px; padding-bottom: 64px; }
.home .nt-hero::after { display: block; background: linear-gradient(90deg,#20242bf5 0%,#20242b96 43%,#20242b00 78%); }
.home .nt-data-field { pointer-events: none; }
.home .nt-motion-toggle { color: var(--nt-soft); }
.home .nt-hero-inner { min-height: 0; padding: clamp(150px,12vw,180px) 0 38px; }
.home .nt-hero-meta { margin-top: 34px; padding-top: 0; color: var(--nt-soft); }
.nt-studio .nt-hero h1 em { color: var(--nt-orange); font-family: Georgia,"Times New Roman",serif; font-weight: 400; }
.nt-hero-bottom > p,.nt-page-summary { color: var(--nt-soft); }
.nt-page-hero.nt-hero { padding-bottom: 54px; }
.nt-page-hero h1 em,.nt-page-meta a,.nt-inner-cta h2 em,.nt-statement em { color: var(--nt-orange); }
.nt-studio h2 span { color: #c3c6cb; }
.nt-intro,.nt-studio,.nt-method { background: var(--nt-ink); }
.nt-products-section,.nt-inner-cta,.nt-inner-main .case-results,.nt-about-person { background: var(--nt-ink); }
.nt-intro-bottom p,.nt-section-heading > p { color: #c3c6cb; }

.home .site-header .nav,body:not(.home) .site-header .nav { background: #20242bf0; border-color: #eceef140; }
.site-header .nt-menu-panel { background: var(--nt-ink); border-color: #eceef140; }
.site-header .nt-nav-label:hover,.site-header .nt-nav-label[aria-expanded=true],.site-header a[aria-current=page],.site-header .nt-menu-panel a:hover,.site-header .nt-menu-panel .nt-menu-overview,.site-header .nt-menu-panel .nt-menu-more { color: var(--nt-orange); }
.site-header :is(button,a):focus-visible { outline-color: var(--nt-orange); }
.site-header .nt-menu-panel small,.site-header .nt-menu-label { color: #c3c6cb; }
.home .site-header .nav-links > .button-primary:hover,body:not(.home) .site-header .nav-links > .button-primary:hover { background: var(--nt-orange); border-color: var(--nt-orange); color: var(--nt-ink); }
.home .site-header .nav-links > .button-primary,body:not(.home) .site-header .nav-links > .button-primary,.nt-pill--light { color: var(--nt-ink); background: var(--nt-orange); border-color: var(--nt-orange); }
.home .site-header .nav-links > .button-primary:hover,body:not(.home) .site-header .nav-links > .button-primary:hover,.nt-pill--light:hover { background: var(--nt-orange-hover); border-color: var(--nt-orange-hover); }
.nt-pill--dark,.nt-inner-main .button-primary,.nt-about-about-btn { background: var(--nt-ink); border-color: var(--nt-ink); color: var(--nt-paper); }
.nt-pill--dark:hover,.nt-about-about-btn:hover { background: var(--nt-slate); }

/* Neutral light surfaces; Surco and Honda retain their own brand colors. */
.nt-capabilities,.nt-work,.nt-faq,.nt-end,.nt-inner-main,body:not(.home) #main { background: var(--nt-paper); color: var(--nt-ink); }
.nt-trust { background: var(--nt-paper); border-color: #20242b20; }
.nt-trust-inner > p { color: var(--nt-ink); }
.nt-trust-inner > p span { color: var(--nt-ink-muted); }
.nt-trust .nt-link { color: var(--nt-ink); }
.nt-client-name--surco { color: #143eab; }
/* Frame only the excess transparent margin; keep the supplied white artwork unchanged. */
.nt-surco-logo { display: block; aspect-ratio: 3 / 1; overflow: hidden; background: transparent; border-radius: 12px; }
.nt-surco-logo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.nt-client-name--surco .nt-surco-logo { width: clamp(140px,15vw,180px); max-width: 100%; margin: 0; border-radius: 6px; background: #143eab; }
.nt-featured-case--surco .nt-surco-logo { align-self: center; width: 100%; max-width: 460px; }
/* The supplied Honda mark stays red; the white panel gives it contrast on Honda's red case card. */
.nt-honda-logo { display: block; overflow: hidden; padding: 7px; border-radius: 12px; background: #fff; }
.nt-honda-logo img { display: block; width: 100%; height: auto; }
.nt-client-name--honda .nt-honda-logo { width: clamp(90px, 10vw, 128px); max-width: 100%; margin: 0; border-radius: 6px; }
.nt-featured-case--honda .nt-honda-logo { align-self: center; width: min(100%, 460px); padding: clamp(14px, 2vw, 26px); }
.nt-client-name--honda { color: #ca242c; }
.nt-services summary:hover h3,.nt-services details[open] h3,.nt-services .nt-service-examples h4 { color: #a34708; }
.nt-services .nt-service-examples li,.nt-content-feature,.nt-inner-main .case-aside-card,.nt-inner-main .nt-product-directory,.nt-about-about-cta,.nt-booking-options { background: var(--nt-soft); color: var(--nt-ink); }
.nt-services .nt-service-examples h5 { color: var(--nt-ink); }
.nt-services .nt-service-detail p,.nt-about-content p,.nt-editorial-body p,.nt-editorial-body li,.nt-inner-main .case-lead,.nt-inner-main .case-service-list p,.nt-inner-main .nt-directory-item p,.nt-faq-list details p { color: var(--nt-ink-muted); }
.nt-editorial-body a,.nt-inner-main .link-arrow,.nt-article-index a:hover,.nt-inner-main .case-service-list span,.nt-inner-main .case-aside-proof i { color: #a34708; text-decoration-color: var(--nt-orange-dark); }
.nt-page-back:hover,.nt-inner-main .case-results-grid i { color: var(--nt-orange); }
.nt-inner-main :focus-visible { outline-color: #a34708; }

/* One product palette across the carousel and full product directory. */
.nt-product-card,.nt-product-card--blue,.nt-product-card--lilac,.nt-product-card--sand,.nt-product-card--slate { background: var(--nt-paper); color: var(--nt-ink); border: 1px solid #20242b26; }
.nt-product-card-top { color: #a34708; opacity: 1; }
.nt-product-card-copy { color: var(--nt-ink-muted); opacity: 1; }
.nt-product-card-tags span { border-color: #20242b26; color: var(--nt-slate); }
.nt-product-card-link { border-color: #20242b26; color: #a34708; }
.nt-product-card-link:hover { color: var(--nt-ink); }
.nt-product-track { scrollbar-color: var(--nt-orange-dark) var(--nt-slate); }
.nt-carousel-toolbar > p { color: #c3c6cb; }
.nt-method-grid > li { background: var(--nt-slate); border-color: #eceef133; }
.nt-method-step { border-color: #f5822080; color: var(--nt-orange); }
.nt-method-grid p,.nt-method-result > span,.nt-about-person p { color: var(--nt-soft); }
.nt-method-result { border-color: #eceef133; }
.nt-about-person-role { color: var(--nt-orange); }
.nt-booking-actions .nt-pill--whatsapp { background: var(--nt-orange); border-color: var(--nt-orange); color: var(--nt-ink); }
.nt-booking-actions .nt-pill--whatsapp:hover { background: var(--nt-soft); }

/* Small, accessible floating contact link, separate from the original footer. */
.nt-whatsapp-float { position: fixed; right: max(24px,env(safe-area-inset-right)); bottom: calc(24px + env(safe-area-inset-bottom)); z-index: 40; display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-width: 56px; min-height: 56px; padding: 14px 20px; border: 1px solid #ffffff66; border-radius: 100px; background: var(--nt-orange); color: var(--nt-ink); box-shadow: 0 6px 24px #20242b33; font: 500 14px/1.4 var(--font); text-decoration: none; transition: background .2s; }
.nt-whatsapp-float svg { width: 25px; height: 25px; flex-shrink: 0; }
.nt-whatsapp-float:hover { color: var(--nt-ink); background: var(--nt-paper); }
.nt-whatsapp-float:focus-visible { outline: 3px solid var(--nt-orange-dark); outline-offset: 4px; }
@media(max-width:1000px) {
    .site-header #primary-menu { background: var(--nt-ink); border-color: #eceef140; }
}
@media(max-width:800px) {
    .home .nt-hero-inner { padding-top: 134px; padding-bottom: 28px; }
    .home .nt-hero-meta { margin-top: 30px; padding-top: 0; }
    .nt-page-hero.nt-hero { padding-bottom: 38px; }
    .nt-whatsapp-float { right: 16px; bottom: calc(16px + env(safe-area-inset-bottom)); padding: 14px; }
    .nt-whatsapp-float > span { display: none; }
}
