/* NOIA / interior pages / 2026-09-07
   Shared language taken from the current homepage. Scoped to interior pages;
   the homepage, its hero, its process section and shared files are untouched. */
body.noia-interior-page {
  --c-creme: #F6F2EA;
  --c-paper: #F2E9DD;
  --c-dark: #211C18;
  --c-terracotta: #C95135;
  --c-terracotta-hover: #AE412C;
  --c-text: #211D1A;
  --c-text-muted: #655B53;
  --c-white: #F5EFE5;
  --f-display: 'Roboto', sans-serif;
  --f-body: 'Roboto', sans-serif;
  --f-editorial: 'Newsreader', serif;
  --font-display: var(--f-display);
  --font-body: var(--f-body);
  --font-label: var(--f-body);
  --color-text: var(--c-text);
  --color-text-muted: var(--c-text-muted);
  --color-background: var(--c-creme);
  --color-surface: var(--c-paper);
  --color-border: rgba(33,28,24,.16);
  --color-accent: var(--c-terracotta);
  --color-accent-strong: var(--c-terracotta-hover);
  --color-secondary: var(--c-terracotta);
  --np-pad: clamp(22px, 4.5vw, 86px);
  --np-space: clamp(72px, 8vw, 132px);
  --np-ease: cubic-bezier(.22,1,.36,1);
  margin: 0;
  background: var(--c-creme);
  color: var(--c-text);
  font-family: var(--f-body);
  font-size: 17px;
  line-height: 1.65;
  color-scheme: light;
  overflow-x: clip;
}
body.noia-interior-page *, body.noia-interior-page *::before, body.noia-interior-page *::after {box-sizing: border-box;}
body.noia-interior-page main {padding: 0; overflow: clip;}
body.noia-interior-page :where(h1,h2,h3,h4,p,figure) {margin: 0;}
body.noia-interior-page :where(h1,h2,h3,h4) {font-family: var(--f-display); font-weight: 500; text-transform: none; color: inherit;}
body.noia-interior-page :where(h1,h2,h3,h4) em {font-family: var(--f-editorial);font-weight:400;font-style:italic;text-transform:none;}
body.noia-interior-page img {display:block; max-width:100%;}
body.noia-interior-page a {text-decoration: none;}
body.noia-interior-page :focus-visible {outline: 2px solid var(--c-terracotta); outline-offset: 5px;}
body.noia-interior-page [hidden] {display:none !important;}
body.noia-interior-page ::selection {background: var(--c-terracotta); color:var(--c-white);}
body.noia-interior-page .container {width:100%; max-width:1720px; margin-inline:auto; padding-inline:var(--np-pad);}
body.noia-interior-page .narrow {width:100%; max-width:980px; padding-inline:var(--np-pad); margin-inline:auto;}
body.noia-interior-page :where(.reveal,.reveal-left,.reveal-right,.reveal-bottom) {opacity:1; transform:none;}
/* The same compact floating navigation as the home, with its existing markup. */
body.noia-interior-page .noia-header.site-header {
  position:fixed; top:20px; left:50%; right:auto; width:min(1180px,calc(100% - 48px));
  height:58px; padding:6px 8px 6px 20px; transform:translateX(-50%);
  background:rgba(246,242,234,.93); color:#211D1A; border:1px solid rgba(33,29,26,.14);
  border-radius:999px; box-shadow:0 4px 30px rgba(33,29,26,.06); backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px); z-index:1000;
}
body.noia-interior-page .noia-header.site-header.is-hidden {transform:translate(-50%,-150%);}
body.noia-interior-page .noia-header.site-header :where(.noia-header-brand,.noia-menu-toggle,.noia-header-phone,.noia-header-nav a) {color:#211D1A;}
body.noia-interior-page .noia-header-nav {background:transparent; border-color:rgba(33,29,26,.14);}
body.noia-interior-page .noia-header-nav a:is(.is-active,[aria-current='page']) {background:#211D1A; color:var(--c-white);}
body.noia-interior-page .noia-header-phone {background:rgba(245,239,229,.55); border-color:rgba(33,29,26,.16);}
body.noia-interior-page .noia-header-cta {background:var(--c-terracotta); color:var(--c-white);}
body.noia-interior-page .noia-header-cta-arrow {background:var(--c-white);color:var(--c-dark);}
/* Scoped image layers override the legacy global background-image:none rule. */
/* Interior heroes: editorial hierarchy, bounded type and space for the image. */
body.noia-interior-page .np-hero {
  position:relative; isolation:isolate; min-height:640px; min-height:min(820px,max(620px,86svh));
  display:flex; align-items:flex-end; background:var(--c-dark); color:var(--c-white);
  padding:150px 0 76px; border:0;
}
body.noia-interior-page .np-hero-media {position:absolute; inset:0; z-index:1; overflow:hidden;}
body.noia-interior-page .np-hero-media img {width:100%;height:100%;object-fit:cover;object-position:50% 50%;filter:grayscale(1); transform:none;}
body.noia-interior-page .np-hero-shade {
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background-image:linear-gradient(90deg,rgba(33,28,24,.83),rgba(33,28,24,.22) 72%),linear-gradient(0deg,rgba(33,28,24,.68),rgba(33,28,24,.1) 82%) !important;
}
body.noia-interior-page .np-hero-inner {position:relative;z-index:3;width:100%;max-width:1720px;margin-inline:auto;padding-inline:var(--np-pad);}
body.noia-interior-page .np-breadcrumb {display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:12px;line-height:1.5;color:inherit;opacity:.8;margin-bottom:clamp(32px,5vw,72px);}
body.noia-interior-page .np-breadcrumb a {color:inherit; text-decoration:underline; text-underline-offset:4px;}
body.noia-interior-page .np-breadcrumb > span:last-child {max-width:70ch;}
body.noia-interior-page .np-hero-grid {display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:clamp(38px,8vw,140px);align-items:end;}
body.noia-interior-page .np-hero-copy {min-width:0;}
body.noia-interior-page :where(.np-eyebrow,.eyebrow) {display:flex;align-items:center;gap:9px;font:500 11px/1.5 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--c-terracotta);margin-bottom:22px;}
body.noia-interior-page :where(.np-eyebrow,.eyebrow)::before {content:'';width:5px;height:5px;border-radius:50%;background:currentColor;flex:0 0 auto;}
body.noia-interior-page .np-hero .np-eyebrow {color:var(--c-white);opacity:.85;}
body.noia-interior-page .np-title {font-family:var(--f-display);font-size:clamp(44px,5.3vw,92px);line-height:1.04;font-weight:500;letter-spacing:-.045em;text-transform:none !important;max-width:100%;overflow-wrap:normal;hyphens:none;color:inherit;}
body.noia-interior-page .np-title em {font-family:var(--f-editorial);font-weight:400;line-height:1.02;letter-spacing:-.03em;text-transform:none !important;}
body.noia-interior-page .np-hero-aside {padding-bottom:6px;max-width:470px;}
body.noia-interior-page .np-hero-lead {font:400 clamp(17px,1.4vw,22px)/1.55 var(--f-body);color:inherit;max-width:34ch;text-wrap:pretty;}
body.noia-interior-page .np-actions {display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:32px;}
body.noia-interior-page .np-btn {
  display:inline-flex;align-items:center;justify-content:center;gap:15px;width:auto;min-height:50px;padding:13px 24px;
  border:1px solid rgba(33,28,24,.23);border-radius:999px;background:transparent;color:inherit;
  font:500 14px/1.4 var(--f-body);letter-spacing:0;text-transform:none;white-space:normal;text-align:center;
  box-shadow:none;transform:none;transition:background-color .25s,color .25s,border-color .25s,transform .25s var(--np-ease);
}
body.noia-interior-page .np-btn::before, body.noia-interior-page .np-btn::after {display:none;}
body.noia-interior-page .np-btn:hover {transform:translateY(-2px);background:var(--c-terracotta);border-color:var(--c-terracotta);color:var(--c-white);}
body.noia-interior-page .np-btn--terra, body.noia-interior-page .np-btn.btn-primary {background:var(--c-terracotta);border-color:var(--c-terracotta);color:var(--c-white);}
body.noia-interior-page :where(.np-hero,.np-dark,.np-conversion) .np-btn--outline {color:var(--c-white);border-color:rgba(245,239,229,.5);background:rgba(245,239,229,.08);}
body.noia-interior-page .np-hero--light {background:var(--c-creme);color:var(--c-text);min-height:0;padding-block:146px 70px;}
body.noia-interior-page .np-hero--light::before {background:none;}
body.noia-interior-page .np-hero--light .np-eyebrow {color:var(--c-terracotta);opacity:1;}
body.noia-interior-page .np-hero--light .np-breadcrumb {color:var(--c-text-muted);margin-bottom:44px;}
body.noia-interior-page .np-hero--light .np-btn--outline {color:var(--c-text);border-color:rgba(33,28,24,.3);}
/* Rhythm: ivory introductions, dark expertise panels, photo stories and conversion. */
body.noia-interior-page .np-section {padding:var(--np-space) 0;position:relative;isolation:isolate;background:var(--c-creme);color:var(--c-text);}
body.noia-interior-page .np-section::before {position:absolute;inset:0;z-index:2;pointer-events:none;background-image:url('../../image/image%20%C3%A0%20utiliser%20en%20prioriter/textures/Texturelabs_Stone_170XL.jpg') !important;background-position:center;background-size:cover;opacity:.025;}
body.noia-interior-page .np-section h2 {font:500 clamp(32px,3.6vw,56px)/1.08 var(--f-display);letter-spacing:-.045em;max-width:22ch;color:inherit;}
body.noia-interior-page .np-section h2 em {font-family:var(--f-editorial);font-weight:400;letter-spacing:-.03em;}
body.noia-interior-page .np-section h3 {font:500 clamp(24px,2.5vw,36px)/1.12 var(--f-display);letter-spacing:-.025em;color:inherit;}
body.noia-interior-page .np-section :where(p,li) {font-size:clamp(16px,1.2vw,19px);line-height:1.75;color:inherit;}
body.noia-interior-page .np-section .eyebrow, body.noia-interior-page .np-section .np-eyebrow {font-size:11px;line-height:1.5;color:var(--c-terracotta);}
body.noia-interior-page .np-section p + p {margin-top:18px;}
body.noia-interior-page .np-section .lead {font-size:clamp(21px,2vw,30px);line-height:1.45;letter-spacing:-.015em;max-width:40ch;}
body.noia-interior-page .np-section .prose > h2 {margin-bottom:26px;}
body.noia-interior-page .np-section .prose > p {max-width:65ch;}
body.noia-interior-page .np-section .split {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,7vw,110px);align-items:center;}
body.noia-interior-page .np-section .split > * {min-width:0;}
body.noia-interior-page .np-section :where(.image-frame, .presentation-intro > figure) {padding:0;background:transparent;border:0;box-shadow:none;overflow:hidden;border-radius:16px;}
body.noia-interior-page .np-section :where(.image-frame, .presentation-intro > figure) img {width:100%;aspect-ratio:4/5;object-fit:cover;height:auto;transform:none;filter:none;}
body.noia-interior-page .np-editorial-row {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,8vw,132px);max-width:1720px;}
body.noia-interior-page .np-section-index {display:block;font:500 12px/1.4 var(--f-body);letter-spacing:.1em;color:var(--c-terracotta);margin-bottom:25px;}
body.noia-interior-page .np-prose-copy {padding-top:36px;max-width:65ch;}
body.noia-interior-page .np-dark {background:var(--c-dark);color:var(--c-white);}
body.noia-interior-page .np-dark .np-prose-copy {color:#CFC5BA;}
body.noia-interior-page .np-dark a:not(.np-btn) {color:inherit;}
body.noia-interior-page .np-section-head {display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:48px;}
body.noia-interior-page .np-section-head .np-eyebrow {margin-bottom:16px;}
/* Agency: the services are no longer oversized hover-only project rows. */
body.noia-interior-page .np-feature-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px;margin-top:56px;}
body.noia-interior-page .np-feature-card {border-top:1px solid rgba(245,239,229,.22);padding-top:26px;}
body.noia-interior-page .np-feature-card .np-section-index {margin-bottom:28px;}
body.noia-interior-page .np-feature-card .np-card-title {font-size:clamp(26px,2.5vw,42px);line-height:1.08;margin-bottom:24px;}
body.noia-interior-page .np-feature-copy {color:#CFC5BA;max-width:42ch;}
body.noia-interior-page .np-feature-copy p {font-size:17px;line-height:1.65;}
body.noia-interior-page .team-section > .container > .split {margin-bottom:48px;}
body.noia-interior-page .np-team-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,6vw,90px);}
body.noia-interior-page .np-team-photo {border-radius:48% 48% 12px 12px;overflow:hidden;background:var(--c-paper);margin-bottom:28px;}
body.noia-interior-page .np-team-photo img {width:100%;aspect-ratio:4/4.4;object-fit:cover;filter:grayscale(1);transition:filter .5s;}
body.noia-interior-page .np-team-card:hover img {filter:grayscale(0);}
body.noia-interior-page .np-team-card .np-card-title {font-size:clamp(30px,3vw,48px);margin-bottom:18px;}
body.noia-interior-page .np-team-card .np-card-title br {display:none;}
body.noia-interior-page .np-team-card .eyebrow {margin-bottom:12px;}
/* Portfolio: readable images at all times, fine dividers and filters. */
body.noia-interior-page .np-filters {display:flex;flex-wrap:wrap;gap:10px;padding-block:22px;border-block:1px solid var(--color-border);margin-bottom:45px;}
body.noia-interior-page .np-filter {appearance:none;border:1px solid transparent;border-radius:999px;padding:12px 22px;font:500 14px/1.4 var(--f-body);background:transparent;color:var(--c-text);cursor:pointer;transition:.2s;}
body.noia-interior-page .np-filter:is(.active,:hover) {color:var(--c-white);background:var(--c-dark);}
body.noia-interior-page .np-results {font-size:13px;color:var(--c-text-muted);white-space:nowrap;}
body.noia-interior-page .np-project-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,3vw,48px);row-gap:66px;}
body.noia-interior-page .np-project-card {min-width:0;transition:opacity .22s,transform .22s;}
body.noia-interior-page .np-project-card.is-filtering-out {opacity:0;transform:translateY(12px);}
body.noia-interior-page .np-card-media {overflow:hidden;border-radius:14px;aspect-ratio:4/3;background:var(--c-paper);}
body.noia-interior-page .np-card-media img {width:100%;height:100%;object-fit:cover;transition:transform .7s var(--np-ease);}
body.noia-interior-page .np-project-link:hover .np-card-media img {transform:scale(1.035);}
body.noia-interior-page .np-card-body {padding-top:22px;}
body.noia-interior-page .np-card-top {display:flex;align-items:center;justify-content:space-between;}
body.noia-interior-page .np-card-top .np-section-index {margin:0;}
body.noia-interior-page .np-card-arrow {font-size:24px;line-height:1;color:var(--c-terracotta);}
body.noia-interior-page .np-card-body h3 {font-size:clamp(27px,2.6vw,40px);margin:12px 0;text-transform:none;}
body.noia-interior-page .np-card-meta :where(p,.project-meta) {font:400 14px/1.6 var(--f-body);letter-spacing:0;text-transform:none;color:var(--c-text-muted);margin:0;}
body.noia-interior-page .np-card-meta .brutalist-meta {display:flex;flex-wrap:wrap;gap:6px 24px;}
body.noia-interior-page .np-card-meta .brutalist-meta p + p {margin:0;}
/* Case studies: a true editorial introduction, factual panel, large photo story. */
body.noia-interior-page .np-case-grid {display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,1fr);gap:clamp(44px,10vw,170px);align-items:start;}
body.noia-interior-page .np-case-text .lead {font-size:clamp(25px,2.3vw,38px);line-height:1.35;margin-bottom:30px;}
body.noia-interior-page .np-case-facts {display:grid;grid-template-columns:1fr 1fr;gap:26px 28px;}
body.noia-interior-page .meta-item {border:0;border-top:1px solid var(--color-border);border-radius:0;padding:17px 0 0;background:transparent;color:inherit;box-shadow:none;transform:none;}
body.noia-interior-page .meta-item span {display:block;font:500 11px/1.5 var(--f-body);letter-spacing:.11em;text-transform:uppercase;color:var(--c-text-muted);margin-bottom:10px;}
body.noia-interior-page .meta-item strong {font:400 clamp(17px,1.5vw,24px)/1.45 var(--f-body);letter-spacing:-.02em;color:inherit;}
body.noia-interior-page .meta-grid {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;}
body.noia-interior-page .np-case-story {padding-top:0;}
body.noia-interior-page .np-gallery-block {margin-bottom:32px;}
body.noia-interior-page .story-full-image img {width:100%;max-height:850px;object-fit:cover;border-radius:14px;}
body.noia-interior-page .story-duo {display:grid;grid-template-columns:1fr 1fr;gap:32px;}
body.noia-interior-page .story-duo img {width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:14px;}
body.noia-interior-page [data-np-zoom] {cursor:zoom-in;}
body.noia-interior-page .np-legacy-gallery {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;}
body.noia-interior-page .np-legacy-gallery img {width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:14px;}
body.noia-interior-page .np-legacy-gallery img:first-child {grid-column:1/-1;aspect-ratio:16/9;}
body.noia-interior-page .project-location {margin-top:24px;font-size:14px;color:var(--c-text-muted);}
body.noia-interior-page .np-next-project {background:var(--c-paper);}
body.noia-interior-page .np-next-link {display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(34px,8vw,128px);color:inherit;}
body.noia-interior-page .np-next-link h2 {margin-bottom:28px;}
body.noia-interior-page .np-next-link figure {border-radius:14px;overflow:hidden;}
body.noia-interior-page .np-next-link img {width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;}
body.noia-interior-page .np-text-link {display:inline-flex;gap:15px;align-items:center;padding-bottom:7px;border-bottom:1px solid currentColor;font-size:14px;}
/* Testimonials and the existing contact invitation. */
body.noia-interior-page .np-testimonial-section .testimonials {display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:48px;}
body.noia-interior-page .np-testimonial-section .quote {margin:0;padding:28px 0;border:0;border-top:1px solid var(--color-border);background:transparent;box-shadow:none;border-radius:0;transform:none;color:inherit;}
body.noia-interior-page .np-testimonial-section .quote p {font:400 clamp(23px,2.1vw,32px)/1.4 var(--f-editorial);letter-spacing:-.02em;}
body.noia-interior-page .np-testimonial-section .quote footer {margin-top:24px;color:var(--c-text-muted);font:500 13px/1.5 var(--f-body);}
body.noia-interior-page .np-conversion {background:var(--c-dark);color:var(--c-white);}
body.noia-interior-page .np-contact-panel {display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr);gap:clamp(48px,10vw,150px);padding-block:0;background:none;border:0;border-radius:0;box-shadow:none;transform:none;color:inherit;}
body.noia-interior-page .np-contact-panel h2 {font-size:clamp(36px,4.5vw,68px);margin-bottom:24px;}
body.noia-interior-page .np-contact-panel .lead {font-size:clamp(17px,1.4vw,22px);line-height:1.6;color:#CFC5BA;max-width:42ch;}
body.noia-interior-page .np-contact-panel .actions {margin-top:32px;}
body.noia-interior-page .np-contact-panel .np-btn {background:var(--c-terracotta);border-color:var(--c-terracotta);color:var(--c-white);}
body.noia-interior-page .contact-list {display:flex;flex-direction:column;gap:24px;margin:0;}
body.noia-interior-page .contact-item {padding:20px 0 0;border:0;border-top:1px solid rgba(245,239,229,.23);background:none;box-shadow:none;transform:none;color:inherit;}
body.noia-interior-page .contact-item span {display:block;font:500 11px/1.5 var(--f-body);letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px;color:inherit;opacity:.75;}
body.noia-interior-page .contact-item strong {display:block;font:400 clamp(16px,1.4vw,21px)/1.55 var(--f-body);color:inherit;overflow-wrap:anywhere;}
body.noia-interior-page .contact-item strong a {color:inherit;}
/* Contact: detailed but compact, with an immediately usable form. */
body.noia-interior-page .np-page--contact {color:inherit;}
body.noia-interior-page .np-contact-grid {align-items:start !important;}
body.noia-interior-page .np-contact-photo {margin-bottom:38px;border-radius:14px;overflow:hidden;}
body.noia-interior-page .np-contact-photo img {width:100%;aspect-ratio:16/8;object-fit:cover;}
body.noia-interior-page .np-contact-details h2 {font-size:clamp(26px,2.5vw,38px);line-height:1.22;max-width:24ch;}
body.noia-interior-page .np-contact-details .lead {font-size:18px;margin-block:22px 32px;}
body.noia-interior-page .np-contact-details .contact-item {border-color:var(--color-border);}
body.noia-interior-page .np-contact-details .contact-item br {display:none;}
body.noia-interior-page .np-form-panel {background:#F5EFE5;border:1px solid var(--color-border);border-radius:20px;padding:clamp(26px,3.8vw,58px);}
body.noia-interior-page .np-form-panel .form {background:none;border:0;padding:0;box-shadow:none;}
body.noia-interior-page .np-form-panel .field {margin-bottom:24px;}
body.noia-interior-page .np-form-panel label {display:block;font:500 14px/1.5 var(--f-body);text-transform:none;margin-bottom:9px;}
body.noia-interior-page .np-form-panel :where(input,textarea) {width:100%;background:var(--c-creme);border:1px solid var(--color-border);border-radius:8px;padding:14px 16px;font:400 17px/1.5 var(--f-body);color:var(--c-text);}
body.noia-interior-page .np-form-panel textarea {min-height:150px;resize:vertical;}
body.noia-interior-page .np-form-panel .np-btn {width:100%;font-size:16px;min-height:54px;margin-top:2px;}
body.noia-interior-page .np-form-note {margin-top:18px;font-size:12px !important;line-height:1.55 !important;color:var(--c-text-muted) !important;}
body.noia-interior-page.np-page--contact main > .np-section {padding-top:12px;}
/* Journal and practical pages never pretend that demo content is published. */
body.noia-interior-page .np-news-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;}
body.noia-interior-page .np-news-card {min-width:0;}
body.noia-interior-page .np-news-card > img {width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;}
body.noia-interior-page .np-news-copy {padding:26px 0;}
body.noia-interior-page .np-news-copy .project-meta {color:var(--c-terracotta);font:500 11px/1.5 var(--f-body);letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px;}
body.noia-interior-page .np-news-copy h3 {font-size:clamp(24px,2.1vw,32px);margin-bottom:18px;}
body.noia-interior-page .np-news-copy .muted {font-size:16px;color:var(--c-text-muted);}
body.noia-interior-page .np-legal > .narrow, body.noia-interior-page .np-legal > .container {max-width:1060px;padding-bottom:var(--np-space);}
body.noia-interior-page .np-legal h2 {font:500 30px/1.25 var(--f-body);text-transform:none;margin:42px 0 20px;}
body.noia-interior-page .np-legal p {font-size:18px;line-height:1.8;margin-bottom:18px;}
body.noia-interior-page .np-legal a {color:var(--c-terracotta);overflow-wrap:anywhere;}
body.noia-interior-page .np-sitemap {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:58px 86px;}
body.noia-interior-page .np-sitemap section {padding:24px 0 0;border:0;border-top:1px solid var(--color-border);background:none;box-shadow:none;transform:none;}
body.noia-interior-page .np-sitemap h3 {font-size:30px;margin-bottom:22px;}
body.noia-interior-page .np-sitemap a {display:block;padding:9px 0;color:var(--c-text-muted);font-size:16px;line-height:1.5;}
body.noia-interior-page .np-sitemap a:hover {color:var(--c-terracotta);}
body.noia-interior-page .np-error-copy {padding-bottom:var(--np-space);}
body.noia-interior-page .np-error-copy .actions {display:flex;gap:18px;flex-wrap:wrap;margin-top:30px;}
/* A lightbox independent of the legacy horizontal gallery layout. */
body.noia-interior-page .np-lightbox {max-width:none;max-height:none;width:100vw;height:100vh;height:100dvh;margin:0;padding:60px 60px 46px;background:rgba(20,18,16,.97);color:var(--c-white);border:0;}
body.noia-interior-page .np-lightbox[open] {display:grid;grid-template-rows:1fr auto;justify-items:center;gap:18px;}
body.noia-interior-page .np-lightbox::backdrop {background:#211C18;}
body.noia-interior-page .np-lightbox img {width:100%;height:100%;max-height:calc(100dvh - 160px);object-fit:contain;}
body.noia-interior-page .np-lightbox button {position:absolute;right:24px;top:18px;border:1px solid rgba(255,255,255,.5);border-radius:999px;min-height:42px;padding:8px 18px;background:transparent;color:inherit;font:500 14px/1.4 var(--f-body);cursor:pointer;}
body.noia-interior-page .np-lightbox p {font:400 14px/1.5 var(--f-body);text-align:center;}
/* Progressive enhancement: content remains visible without scripts. */
@media (prefers-reduced-motion: no-preference) {
  body.noia-interior-page.np-motion-ready [data-np-reveal] {transition:opacity .6s var(--np-ease),translate .6s var(--np-ease);}
  body.noia-interior-page.np-motion-ready [data-np-reveal]:not(.np-visible) {opacity:0;translate:0 20px;}
}
@media (min-width:1800px) {body.noia-interior-page .np-title {font-size:96px;}}
@media (max-width:1100px) {
  body.noia-interior-page .np-hero-grid {grid-template-columns:minmax(0,1.4fr) minmax(230px,1fr);gap:40px;}
  body.noia-interior-page .np-title {font-size:clamp(42px,5.5vw,70px);}
  body.noia-interior-page .np-feature-grid {gap:26px;}
  body.noia-interior-page .np-contact-panel {gap:48px;}
  body.noia-interior-page .np-news-grid {gap:24px;}
}
@media (max-width:800px) {
  body.noia-interior-page {--np-pad:24px;--np-space:70px;}
  body.noia-interior-page .np-hero {min-height:720px;padding-block:128px 54px;}
  body.noia-interior-page .np-hero-grid {grid-template-columns:1fr;gap:32px;}
  body.noia-interior-page .np-title {font-size:clamp(44px,8vw,66px);max-width:18ch;}
  body.noia-interior-page .np-hero-aside {max-width:520px;}
  body.noia-interior-page .np-hero-lead {max-width:48ch;font-size:18px;}
  body.noia-interior-page .np-hero--light {min-height:0;}
  body.noia-interior-page .np-hero-shade {background-image:linear-gradient(0deg,rgba(33,28,24,.9),rgba(33,28,24,.15) 100%) !important;}
  body.noia-interior-page .np-hero--light::before {background:none;}
  body.noia-interior-page .np-section .split, body.noia-interior-page .np-section .np-editorial-row, body.noia-interior-page .np-case-grid, body.noia-interior-page .np-contact-panel, body.noia-interior-page .np-contact-grid {grid-template-columns:1fr;gap:36px;}
  body.noia-interior-page .np-section .split.reverse {grid-template-columns:1fr;}
  body.noia-interior-page .np-section .split .prose {order:-1;}
  body.noia-interior-page .np-prose-copy {padding-top:0;}
  body.noia-interior-page .np-contact-grid .np-form-panel {order:-1;}
  body.noia-interior-page .np-feature-grid {grid-template-columns:1fr;gap:34px;}
  body.noia-interior-page .np-feature-body {display:grid;grid-template-columns:42px 1fr;column-gap:20px;}
  body.noia-interior-page .np-feature-copy {grid-column:2;max-width:none;}
  body.noia-interior-page .np-feature-card .np-card-title {font-size:32px;}
  body.noia-interior-page .np-section h2 {font-size:clamp(32px,5.7vw,46px);max-width:24ch;}
  body.noia-interior-page .np-team-grid {gap:26px;}
  body.noia-interior-page .np-team-card .np-card-title {font-size:29px;}
  body.noia-interior-page .np-news-grid {grid-template-columns:1fr;gap:36px;}
  body.noia-interior-page .np-news-card {display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;}
  body.noia-interior-page .np-news-copy {padding:0;}
  body.noia-interior-page .meta-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  body.noia-interior-page .np-project-grid {row-gap:42px;}
  body.noia-interior-page .np-next-link {gap:32px;}
  body.noia-interior-page .np-next-link h2 {font-size:36px;}
  body.noia-interior-page .np-sitemap {gap:40px;}
}
@media (max-width:540px) {
  body.noia-interior-page {--np-pad:20px;--np-space:58px;}
  body.noia-interior-page .noia-header.site-header {width:calc(100% - 28px);top:14px;height:52px;}
  body.noia-interior-page .np-hero {min-height:700px;min-height:max(700px,90svh);padding-block:118px 46px;}
  body.noia-interior-page .np-hero--light {min-height:0;padding-bottom:46px;}
  body.noia-interior-page .np-breadcrumb {margin-bottom:36px;font-size:11px;gap:8px;}
  body.noia-interior-page .np-title {font-size:clamp(37px,10.3vw,56px);line-height:1.08;letter-spacing:-.045em;}
  body.noia-interior-page .np-hero-grid {gap:28px;}
  body.noia-interior-page .np-actions {gap:12px;margin-top:24px;}
  body.noia-interior-page .np-btn {min-height:48px;font-size:13px;padding:12px 19px;}
  body.noia-interior-page .np-section-head {align-items:start;flex-direction:column;gap:18px;margin-bottom:30px;}
  body.noia-interior-page .np-filters {gap:8px;padding-block:16px;}
  body.noia-interior-page .np-filter {padding:10px 14px;font-size:13px;}
  body.noia-interior-page .np-project-grid, body.noia-interior-page .np-team-grid, body.noia-interior-page .np-news-card, body.noia-interior-page .np-testimonial-section .testimonials, body.noia-interior-page .story-duo, body.noia-interior-page .np-next-link, body.noia-interior-page .np-sitemap {grid-template-columns:1fr;}
  body.noia-interior-page .np-card-body h3 {font-size:32px;}
  body.noia-interior-page .np-team-card .np-card-title {font-size:36px;}
  body.noia-interior-page .np-news-card {gap:22px;}
  body.noia-interior-page .np-testimonial-section .testimonials {gap:30px;}
  body.noia-interior-page .np-legacy-gallery {grid-template-columns:1fr;gap:20px;}
  body.noia-interior-page .np-legacy-gallery img:first-child {aspect-ratio:4/3;}
  body.noia-interior-page .np-case-facts {gap:22px;}
  body.noia-interior-page .story-duo {gap:20px;}
  body.noia-interior-page .np-contact-panel h2 {font-size:40px;}
  body.noia-interior-page .np-next-link h2 {font-size:42px;}
  body.noia-interior-page .np-lightbox {padding:70px 15px 28px;}
}
@media (prefers-reduced-motion:reduce) {
  body.noia-interior-page *,body.noia-interior-page *::before,body.noia-interior-page *::after {scroll-behavior:auto !important;animation-duration:.01ms !important;transition-duration:.01ms !important;}
}

body.noia-interior-page main [id] {scroll-margin-top:96px;}

body.noia-interior-page .np-hero::before, body.noia-interior-page .np-hero::after {display:none;content:none;}

/* Portfolio / same mosaic as the homepage typologies / 2026-09-08.
   The homepage component owns the layout, spacing, type sizes and breakpoints.
   This adapter only isolates it from the interior-page resets and keeps filters. */
body.noia-interior-page .np-portfolio-section--home {
  --c-white: #F5EFE5;
  font-size: 16px;
  line-height: 1.6;
  background-color: var(--noia-bg-dark);
  color: var(--noia-text-dark-secondary);
}
body.noia-interior-page .np-portfolio-section--home .display-sans {
  text-transform: uppercase;
  color: var(--noia-text-dark);
}
body.noia-interior-page .np-portfolio-section--home .display-sans em {
  text-transform: none;
}
body.noia-interior-page .np-portfolio-section--home .np-results {
  margin: 0 0 .4rem;
  color: var(--noia-text-dark-secondary);
}
body.noia-interior-page .np-portfolio-section--home .np-filters {
  border-color: var(--noia-line-dark);
  margin-bottom: clamp(24px, 3vw, 44px);
}
body.noia-interior-page .np-portfolio-section--home .np-filter {
  color: var(--noia-text-dark);
  border-color: var(--noia-line-dark);
}
body.noia-interior-page .np-portfolio-section--home .np-filter:is(.active, :hover) {
  background: var(--c-terracotta);
  color: var(--noia-text-dark);
  border-color: transparent;
}
body.noia-interior-page .np-portfolio-section--home .mosaic-v3-copy,
body.noia-interior-page .np-portfolio-section--home .mosaic-v3-arrow {
  z-index: 2;
}
body.noia-interior-page .np-portfolio-section--home .mosaic-v3-copy h3 {
  margin: .75rem 0 .55rem;
  text-transform: uppercase;
  color: var(--noia-text-dark);
}
body.noia-interior-page .np-portfolio-section--home .project-type-media::after {
  /* The legacy stylesheet disables all background images with !important. */
  background-image: linear-gradient(to top, rgba(20,16,13,.60) 0%, rgba(20,16,13,.16) 48%, transparent 72%) !important;
  z-index: 1;
}
body.noia-interior-page .np-portfolio-section--home .mosaic-v3-card:focus-visible {
  outline-offset: -4px;
}
/* Repeat the home pattern 7/5 then 5/7 for visible cards after each filter. */
@media (min-width: 901px) {
  @supports selector(:nth-child(1 of :not([hidden]))) {
    body.noia-interior-page .np-portfolio-mosaic > .mosaic-v3-card {
      grid-column: span 5;
    }
    body.noia-interior-page .np-portfolio-mosaic > .mosaic-v3-card:nth-child(4n+1 of :not([hidden])),
    body.noia-interior-page .np-portfolio-mosaic > .mosaic-v3-card:nth-child(4n of :not([hidden])) {
      grid-column: span 7;
    }
  }
}

/* ============================================================
   CONTRASTE GLOBAL IMAGE + TEXTE — 2026-09-10
   ============================================================ */
body.noia-interior-page .np-hero-shade {
  background-image:
    linear-gradient(90deg,
      rgba(33,28,24,.94) 0%,
      rgba(33,28,24,.80) 28%,
      rgba(33,28,24,.38) 68%,
      rgba(33,28,24,.16) 100%),
    linear-gradient(180deg,
      rgba(33,28,24,.08) 0%,
      rgba(33,28,24,.12) 30%,
      rgba(33,28,24,.50) 72%,
      rgba(33,28,24,.90) 100%) !important;
}

body.noia-interior-page .np-hero-copy,
body.noia-interior-page .np-hero-aside,
body.noia-interior-page .np-breadcrumb {
  text-shadow: 0 2px 18px rgba(10,8,7,.38);
}

body.noia-interior-page .np-portfolio-section--home .project-type-media::after {
  background:
    linear-gradient(180deg,
      rgba(20,16,13,.03) 14%,
      rgba(20,16,13,.18) 44%,
      rgba(20,16,13,.50) 72%,
      rgba(20,16,13,.92) 100%),
    linear-gradient(90deg,
      rgba(20,16,13,.16) 0%,
      rgba(20,16,13,0) 46%,
      rgba(20,16,13,.10) 100%) !important;
}



/* ============================================================
   STACKING FIX — overlays toujours sous le texte — 2026-09-10
   ============================================================ */
body.noia-interior-page .np-hero { isolation: isolate; }
body.noia-interior-page .np-hero-media { z-index: 0; }
body.noia-interior-page .np-hero-shade { z-index: 1 !important; pointer-events: none; }
body.noia-interior-page .np-hero-inner { position: relative; z-index: 2 !important; }

body.noia-interior-page .np-portfolio-section--home .mosaic-v3-card,
body.noia-interior-page .np-portfolio-section--home .project-type-media { isolation: isolate; }
body.noia-interior-page .np-portfolio-section--home .mosaic-v3-card > img { z-index: 0; }
body.noia-interior-page .np-portfolio-section--home .mosaic-v3-overlay,
body.noia-interior-page .np-portfolio-section--home .project-type-media::after { z-index: 1 !important; pointer-events: none; }
body.noia-interior-page .np-portfolio-section--home .mosaic-v3-copy,
body.noia-interior-page .np-portfolio-section--home .mosaic-v3-arrow { z-index: 2 !important; }


/* ============================================================
   GRADIENT CARTES — correction des bords — 2026-09-10
   Meme traitement localise sur les portfolios des pages interieures.
   ============================================================ */
body.noia-interior-page .np-portfolio-section--home .mosaic-v3-overlay,
body.noia-interior-page .np-portfolio-section--home .project-type-media::after {
  inset: 0;
  border-radius: inherit;
  background:
    radial-gradient(
      ellipse 82% 74% at 14% 90%,
      rgba(18,14,12,.90) 0%,
      rgba(18,14,12,.72) 28%,
      rgba(18,14,12,.42) 50%,
      rgba(18,14,12,.17) 68%,
      rgba(18,14,12,0) 84%
    ),
    linear-gradient(
      180deg,
      rgba(18,14,12,.04) 0%,
      rgba(18,14,12,.04) 54%,
      rgba(18,14,12,.08) 72%,
      rgba(18,14,12,.18) 100%
    ) !important;
}


/* ============================================================
   PORTFOLIO IMAGE + TEXTE — overlay unique et propre — 2026-09-10
   Meme correction que la homepage : jamais de double couche sombre.
   ============================================================ */
body.noia-interior-page .np-portfolio-section--home .mosaic-v3-card.project-type-media::after {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
}

body.noia-interior-page .np-portfolio-section--home .mosaic-v3-card > .mosaic-v3-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1 !important;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(
    to top,
    rgba(18,14,12,.88) 0%,
    rgba(18,14,12,.72) 16%,
    rgba(18,14,12,.50) 32%,
    rgba(18,14,12,.28) 48%,
    rgba(18,14,12,.11) 62%,
    rgba(18,14,12,0) 76%
  ) !important;
}


/* ============================================================
   PORTFOLIO — correction finale du dégradé — 2026-09-10
   Un seul pseudo-overlay vertical, propre sur tout le bord de la carte.
   ============================================================ */
body.noia-interior-page .np-portfolio-section--home .mosaic-v3-card.project-type-media::after {
  content: "" !important;
  display: block !important;
  position: absolute;
  inset: 0;
  z-index: 1 !important;
  border: 0;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(
    to top,
    rgba(18,14,12,.88) 0%,
    rgba(18,14,12,.70) 18%,
    rgba(18,14,12,.46) 36%,
    rgba(18,14,12,.24) 52%,
    rgba(18,14,12,.10) 64%,
    rgba(18,14,12,0) 76%
  ) !important;
  background-image: linear-gradient(
    to top,
    rgba(18,14,12,.88) 0%,
    rgba(18,14,12,.70) 18%,
    rgba(18,14,12,.46) 36%,
    rgba(18,14,12,.24) 52%,
    rgba(18,14,12,.10) 64%,
    rgba(18,14,12,0) 76%
  ) !important;
}

body.noia-interior-page .np-portfolio-section--home .mosaic-v3-card.project-type-media > .mosaic-v3-overlay {
  display: none !important;
}

/* ============================================================
   NOÏA — DARK MODE FOR INTERIOR PAGES
   2026-09-10
   ============================================================ */
html[data-theme="dark"] body.noia-interior-page {
  --c-creme: #211C18;
  --c-paper: #211C18;
  --c-dark: #211C18;
  --c-text: #F5EFE5;
  --c-text-muted: #CFC5BA;
  --c-white: #F5EFE5;
  --color-text: #F5EFE5;
  --color-text-muted: #CFC5BA;
  --color-background: #211C18;
  --color-surface: #211C18;
  --color-border: rgba(245,239,229,.16);
  background: #211C18;
  color: #F5EFE5;
  color-scheme: dark;
}
html[data-theme="dark"] body.noia-interior-page .np-section,
html[data-theme="dark"] body.noia-interior-page .np-hero--light,
html[data-theme="dark"] body.noia-interior-page .np-next-project {
  background: #211C18;
  color: #F5EFE5;
}
html[data-theme="dark"] body.noia-interior-page .np-dark,
html[data-theme="dark"] body.noia-interior-page .np-conversion {
  background: #211C18;
  color: #F5EFE5;
}
html[data-theme="dark"] body.noia-interior-page .np-form-panel {
  background: #211C18;
  color: #F5EFE5;
  border-color: rgba(245,239,229,.16);
}
html[data-theme="dark"] body.noia-interior-page .np-form-panel :where(input,textarea,select) {
  background: #211C18;
  color: #F5EFE5;
  border-color: rgba(245,239,229,.17);
}
html[data-theme="dark"] body.noia-interior-page .np-form-panel :where(input,textarea)::placeholder {
  color: #8D7C6C;
}
html[data-theme="dark"] body.noia-interior-page .np-filter {
  color: #F5EFE5;
  border-color: rgba(245,239,229,.12);
}
html[data-theme="dark"] body.noia-interior-page .np-filter:is(.active,:hover) {
  background: #F5EFE5;
  color: #211C18;
}
html[data-theme="dark"] body.noia-interior-page .meta-item,
html[data-theme="dark"] body.noia-interior-page .np-filters {
  border-color: rgba(245,239,229,.16);
}

/* ============================================================
   THEME-AWARE PROJECT COVER OVERLAY — V12C — 2026-09-11
   This rule intentionally outranks the historical dark-only overlay.
   ============================================================ */
html[data-theme="light"] body.noia-interior-page.np-page--portfolio
  .np-portfolio-section.np-portfolio-section--home
  .np-project-card.mosaic-v3-card.project-type-media::after {
  background: linear-gradient(
    to top,
    rgba(246,242,234,.72) 0%,
    rgba(246,242,234,.46) 20%,
    rgba(246,242,234,.22) 40%,
    rgba(246,242,234,.08) 56%,
    rgba(246,242,234,0) 72%
  ) !important;
  background-image: linear-gradient(
    to top,
    rgba(246,242,234,.72) 0%,
    rgba(246,242,234,.46) 20%,
    rgba(246,242,234,.22) 40%,
    rgba(246,242,234,.08) 56%,
    rgba(246,242,234,0) 72%
  ) !important;
}

html[data-theme="dark"] body.noia-interior-page.np-page--portfolio
  .np-portfolio-section.np-portfolio-section--home
  .np-project-card.mosaic-v3-card.project-type-media::after {
  background: linear-gradient(
    to top,
    rgba(33,28,24,.88) 0%,
    rgba(33,28,24,.70) 18%,
    rgba(33,28,24,.46) 36%,
    rgba(33,28,24,.24) 52%,
    rgba(33,28,24,.10) 64%,
    rgba(33,28,24,0) 76%
  ) !important;
  background-image: linear-gradient(
    to top,
    rgba(33,28,24,.88) 0%,
    rgba(33,28,24,.70) 18%,
    rgba(33,28,24,.46) 36%,
    rgba(33,28,24,.24) 52%,
    rgba(33,28,24,.10) 64%,
    rgba(33,28,24,0) 76%
  ) !important;
}

/* ============================================================
   HERO INTERIEUR — contraste du paragraphe lateral — 2026-09-24
   ============================================================ */
body.noia-interior-page .np-hero:not(.np-hero--light) .np-hero-shade {
  background-image:
    linear-gradient(270deg,
      rgba(24,19,16,.64) 0%,
      rgba(24,19,16,.48) 20%,
      rgba(24,19,16,.16) 38%,
      rgba(24,19,16,0) 55%),
    linear-gradient(90deg,
      rgba(33,28,24,.88) 0%,
      rgba(33,28,24,.60) 34%,
      rgba(33,28,24,.20) 72%,
      rgba(33,28,24,.08) 100%),
    linear-gradient(0deg,
      rgba(33,28,24,.72),
      rgba(33,28,24,.10) 82%) !important;
}

body.noia-interior-page .np-hero:not(.np-hero--light) .np-hero-lead {
  color: #fffaf2;
  font-weight: 500;
  text-shadow:
    0 2px 18px rgba(10,8,7,.72),
    0 1px 3px rgba(10,8,7,.9);
}
