/* Nova’Time · Édition Halloween 2026
   Seasonal art direction; pricing, form logic, and brand logo stay unchanged. */
body.nt-halloween-2026 {
  --ink: #1a141d;
  --ink2: #261823;
  --paper: #f7f0e8;
  --soft: #efe4d8;
  --mist: #ead8c7;
  --gold: #d88943;
  --gold2: #f3c98f;
  --muted: #5d535b;
  --line: rgba(56, 35, 42, .17);
  background:
    radial-gradient(42rem 30rem at 100% 13%, rgba(213, 120, 55, .105), transparent 72%),
    radial-gradient(36rem 32rem at 0% 48%, rgba(92, 49, 70, .075), transparent 68%),
    var(--paper);
}
body.nt-halloween-2026 .site-header {
  background: rgba(19, 15, 22, .9);
  border-bottom: 1px solid rgba(243, 201, 143, .2);
  box-shadow: 0 12px 36px rgba(18, 12, 20, .2);
  backdrop-filter: blur(18px);
}
body.nt-halloween-2026 .site-header.scrolled {
  background: rgba(19, 15, 22, .97);
}
body.nt-halloween-2026 .site-header::after {
  content: "";
  position: absolute;
  inset: auto 0 -1px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(216, 137, 67, .8), rgba(243, 201, 143, .6), transparent);
  pointer-events: none;
}
body.nt-halloween-2026 .nav-cta,
body.nt-halloween-2026 .mobile-menu .btn-gold,
body.nt-halloween-2026 .mobile-action-bar .btn-gold {
  background: linear-gradient(135deg, #f0bf78, #d9863f 78%);
  color: #21141b;
  box-shadow: 0 8px 24px rgba(188, 92, 39, .25);
}
body.nt-halloween-2026 .nav-links a:hover,
body.nt-halloween-2026 .footer-grid a:hover { color: #f3c98f; }
body.nt-halloween-2026 .mobile-menu {
  background: rgba(24, 17, 27, .98);
  border-top: 1px solid rgba(243, 201, 143, .2);
}
body.nt-halloween-2026 .mobile-action-bar {
  background: rgba(24, 17, 27, .96);
  border-color: rgba(243, 201, 143, .22);
  backdrop-filter: blur(14px);
}

body.nt-halloween-2026 .hero-premium {
  min-height: min(850px, 100svh);
  background: #17121b;
}
body.nt-halloween-2026 .hero-bg {
  filter: saturate(.82) contrast(1.07);
}
body.nt-halloween-2026 .hero-shade {
  background:
    radial-gradient(ellipse at 78% 21%, rgba(232, 126, 56, .28), transparent 32%),
    radial-gradient(ellipse at 64% 88%, rgba(105, 43, 63, .24), transparent 42%),
    linear-gradient(90deg, rgba(16, 13, 20, .98) 0%, rgba(19, 15, 23, .94) 31%, rgba(20, 15, 22, .56) 55%, rgba(19, 14, 20, .05) 83%);
}
body.nt-halloween-2026 .hero-premium::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: auto 0 0;
  height: 25%;
  background: linear-gradient(0deg, rgba(18, 13, 20, .42), transparent);
  pointer-events: none;
}
body.nt-halloween-2026 .hero-copy {
  max-width: 1280px;
  width: min(calc(100% - 40px), var(--max));
  margin-inline: auto;
  padding-top: 116px;
  padding-bottom: 104px;
}
body.nt-halloween-2026 .hero-copy h1 {
  color: #fffaf4;
  max-width: 760px;
  text-shadow: 0 4px 28px rgba(15, 10, 18, .2);
}
body.nt-halloween-2026 .hero-copy h1 em { color: #f1bd78; }
body.nt-halloween-2026 .hero-copy .hero-lead {
  color: #fff8ef;
  font-size: clamp(1.1rem, 1.5vw, 1.32rem);
}
body.nt-halloween-2026 .hero-copy > p:not(.hero-tagline) { color: rgba(255, 248, 239, .82); }
body.nt-halloween-2026 .hero-copy .hero-tagline { color: #f3c98f !important; }
body.nt-halloween-2026 .hero-copy .eyebrow.light { color: #f3c98f; }
body.nt-halloween-2026 .hero-copy .btn-gold {
  background: linear-gradient(135deg, #f4c77f, #dc813c);
  color: #21141b;
  box-shadow: 0 12px 34px rgba(198, 91, 38, .28);
}
body.nt-halloween-2026 .hero-copy .btn-glass {
  color: #fff8ef;
  border-color: rgba(255, 236, 211, .44);
  background: rgba(25, 17, 28, .28);
}
body.nt-halloween-2026 .concept-label {
  border: 1px solid rgba(243, 201, 143, .22);
  background: rgba(19, 15, 22, .72);
}
.nt-ph-season-mark {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  margin: 0 0 16px;
  padding: 8px 12px 8px 9px;
  border: 1px solid rgba(243, 201, 143, .52);
  border-radius: 999px;
  color: #fff6e9;
  background: linear-gradient(100deg, rgba(107, 48, 49, .74), rgba(31, 22, 35, .7));
  box-shadow: 0 8px 26px rgba(15, 10, 18, .2), inset 0 1px rgba(255,255,255,.08);
  font-size: .71rem;
  font-weight: 850;
  letter-spacing: .14em;
  line-height: 1;
  text-transform: uppercase;
}
.nt-ph-season-mark__spark {
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  border-radius: 50%;
  color: #2a171b;
  background: linear-gradient(140deg, #ffdc9c, #d97735);
  box-shadow: 0 0 18px rgba(232, 126, 56, .34);
  font-size: 1rem;
}
.nt-ph-season-mark__year { color: #efc994; font-size: .66rem; letter-spacing: .1em; }

body.nt-halloween-2026 .quick-strip {
  position: relative;
  overflow: hidden;
  color: #fff4e6;
  background: linear-gradient(95deg, #211720, #4a272a 48%, #241722);
  border-block: 1px solid rgba(221, 146, 77, .35);
  box-shadow: 0 12px 34px rgba(55, 29, 32, .12);
}
body.nt-halloween-2026 .quick-strip i { background: rgba(243, 201, 143, .72); }
body.nt-halloween-2026 .quick-strip .wrap { position: relative; z-index: 2; text-shadow: 0 2px 12px rgba(0,0,0,.32); }

body.nt-halloween-2026 .section-title { position: relative; }
body.nt-halloween-2026 .section-title .eyebrow,
body.nt-halloween-2026 .eyebrow { color: #a95630; }
body.nt-halloween-2026 .eyebrow.light { color: #f3c98f; }
body.nt-halloween-2026 .section-title h2 { color: #201720; }
body.nt-halloween-2026 .section-title::after {
  content: "";
  display: block;
  width: 58px;
  height: 3px;
  margin-top: 22px;
  border-radius: 3px;
  background: linear-gradient(90deg, #c36836, #edbd7f);
}
body.nt-halloween-2026 .section.soft {
  background:
    radial-gradient(ellipse at 100% 0%, rgba(214, 133, 76, .09), transparent 42%),
    linear-gradient(145deg, #f0e5d9, #f8f2eb 58%, #f1e6dc);
}
body.nt-halloween-2026 .section.dark {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 82% 18%, rgba(188, 86, 47, .22), transparent 37%),
    radial-gradient(ellipse at 3% 100%, rgba(102, 47, 73, .27), transparent 42%),
    linear-gradient(125deg, #211722, #15131a 58%, #2c1719);
}
body.nt-halloween-2026 .section.dark::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .16;
  pointer-events: none;
  background: repeating-linear-gradient(135deg, transparent 0 68px, rgba(243,201,143,.075) 69px, transparent 70px 138px);
  mask-image: linear-gradient(90deg, transparent, #000 55%, transparent);
}
body.nt-halloween-2026 .section.dark > .wrap { position: relative; z-index: 2; }
body.nt-halloween-2026 .section.dark .section-title h2,
body.nt-halloween-2026 .section.dark h2,
body.nt-halloween-2026 .section.dark h3 { color: #fff7ec; }
body.nt-halloween-2026 .product-story > div > p,
body.nt-halloween-2026 .benefit-list span { color: rgba(255, 248, 239, .79); }
body.nt-halloween-2026 .benefit-list li { border-color: rgba(243, 201, 143, .2); }
body.nt-halloween-2026 .benefit-list li::before {
  content: "✦";
  float: left;
  color: #e9a966;
  margin-right: 10px;
}
body.nt-halloween-2026 .wedding-visual {
  border: 1px solid rgba(243, 201, 143, .38);
  box-shadow: 0 28px 70px rgba(0, 0, 0, .36), 0 0 42px rgba(196, 98, 53, .13);
}
body.nt-halloween-2026 .section:not(.dark) .print-preview {
  border: 1px solid rgba(165, 95, 54, .25);
  border-radius: 22px;
  background: linear-gradient(154deg, #fffaf2, #f4e8da);
  box-shadow: 0 12px 34px rgba(55, 35, 35, .07);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
body.nt-halloween-2026 .print-preview::before {
  content: "";
  position: absolute;
  inset: 8px;
  border: 1px solid rgba(206, 135, 75, .15);
  border-radius: 15px;
  pointer-events: none;
}
body.nt-halloween-2026 .print-preview:hover,
body.nt-halloween-2026 .print-preview.featured {
  border-color: rgba(198, 103, 52, .7);
  box-shadow: 0 20px 46px rgba(95, 46, 39, .15), 0 0 24px rgba(216, 137, 67, .12);
  transform: translateY(-4px);
}
body.nt-halloween-2026 .print-preview .price-stack strong { color: #994d2b; }
body.nt-halloween-2026 .print-preview .btn-outline {
  border-color: rgba(151, 78, 49, .35);
  background: rgba(255, 255, 255, .62);
}
body.nt-halloween-2026 .formula-inclusion-note {
  border-color: rgba(175, 104, 61, .22);
  background: rgba(255, 250, 243, .72);
}
body.nt-halloween-2026 .inspiration-grid { gap: 18px; }
body.nt-halloween-2026 .inspiration-grid article {
  position: relative;
  overflow: hidden;
  padding: 28px;
  border: 1px solid rgba(165, 95, 54, .2);
  border-top: 3px solid #c77940;
  border-radius: 18px;
  background: linear-gradient(150deg, rgba(255, 251, 245, .92), rgba(239, 226, 213, .83));
  box-shadow: 0 14px 35px rgba(55, 35, 35, .06);
}
body.nt-halloween-2026 .inspiration-grid article::after {
  content: "✦";
  position: absolute;
  right: 17px;
  top: 11px;
  color: rgba(183, 95, 50, .42);
  font-size: 2.4rem;
}
body.nt-halloween-2026 .inspiration-grid article > span { color: #9f5834; font-weight: 800; }
body.nt-halloween-2026 .inspiration-grid h3 { color: #271b24; }
body.nt-halloween-2026 .steps-grid li {
  padding: 22px;
  border: 1px solid rgba(165, 95, 54, .18);
  border-top: 3px solid #c7783d;
  border-radius: 16px;
  background: rgba(255, 250, 243, .72);
  box-shadow: 0 12px 30px rgba(55, 35, 35, .05);
}
body.nt-halloween-2026 .steps-grid li > b {
  color: #26151b;
  background: linear-gradient(140deg, #f1c98f, #d78141);
  box-shadow: 0 6px 18px rgba(171, 85, 48, .2);
}
body.nt-halloween-2026 .faq-item { border-color: rgba(111, 73, 68, .19); }
body.nt-halloween-2026 .faq-q b { color: #ba6334; }
body.nt-halloween-2026 .faq-item.open {
  padding-inline: 16px;
  border-radius: 12px;
  background: rgba(255, 250, 243, .72);
}
body.nt-halloween-2026 .final-cta {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 50% 130%, rgba(226, 121, 51, .38), transparent 50%),
    radial-gradient(ellipse at 90% -20%, rgba(128, 52, 65, .48), transparent 38%),
    linear-gradient(120deg, #19141d, #2c1922 55%, #17131a);
}
body.nt-halloween-2026 .final-cta::before,
body.nt-halloween-2026 .final-cta::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 340px;
  height: 340px;
  border: 1px solid rgba(243, 201, 143, .16);
  border-radius: 50%;
  box-shadow: 0 0 0 28px rgba(243,201,143,.035), 0 0 0 56px rgba(243,201,143,.025);
  pointer-events: none;
}
body.nt-halloween-2026 .final-cta::before { top: -230px; left: -100px; }
body.nt-halloween-2026 .final-cta::after { right: -100px; bottom: -260px; }
body.nt-halloween-2026 .final-cta h2 { color: #fff7ec; }
body.nt-halloween-2026 .final-cta p { color: rgba(255, 248, 239, .78); }
body.nt-halloween-2026 .site-footer {
  border-top: 1px solid rgba(243, 201, 143, .18);
  background:
    radial-gradient(ellipse at 75% 0%, rgba(121, 53, 55, .22), transparent 45%),
    #17131a;
}
body.nt-halloween-2026 .footer-grid h4 { color: #efc994; }
body.nt-halloween-2026 .footer-grid a,
body.nt-halloween-2026 .footer-grid span,
body.nt-halloween-2026 .footer-grid p,
body.nt-halloween-2026 .footer-bottom { color: rgba(255, 247, 237, .72); }
body.nt-halloween-2026 .whatsapp-float {
  border: 1px solid rgba(243, 201, 143, .48);
  box-shadow: 0 14px 36px rgba(21, 13, 17, .35), 0 0 20px rgba(35, 163, 109, .15);
}

/* Fine, custom vector details around the genuine Nova’Time imagery. */
.nt-public-halloween-host { position: relative; isolation: isolate; overflow: hidden; }
.nt-public-halloween-layer {
  position: absolute;
  z-index: 1;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}
.hero-premium .nt-public-halloween-layer { z-index: 1; }
.hero-premium .hero-copy, .hero-premium .concept-label { position: relative; z-index: 3; }
.page-hero > .wrap { position: relative; z-index: 3; }
.page-hero { isolation: isolate; }

.nt-ph-web {
  position: absolute;
  top: 0;
  width: clamp(150px, 15vw, 210px);
  color: #edb46e;
  opacity: .78;
  filter: drop-shadow(0 2px 5px rgba(14, 10, 16, .65));
  animation: nt-ph-web-breathe 4s ease-in-out .3s infinite alternate;
}
.nt-ph-web svg { display:block; width:100%; height:auto; fill:none; stroke:currentColor; stroke-width:1.15; stroke-linecap:round; }
.nt-ph-web--left { left:0; transform-origin:top left; }
.nt-ph-web--right { right:0; transform:scaleX(-1); transform-origin:top right; animation-delay:.8s; }
.nt-ph-spider {
  position:absolute; z-index:2; top:0; right:clamp(45px, 8vw, 116px);
  width:34px; height:68px; color:#f0c27f;
  animation:nt-ph-spider-sway 6s ease-in-out 1.6s infinite alternate;
}
.nt-ph-spider svg {
  display:block; width:100%; height:100%; fill:#22161e; stroke:currentColor;
  stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round;
  filter:drop-shadow(0 2px 5px rgba(10, 7, 12, .6));
}
.nt-ph-moon {
  position:absolute; top:9%; right:14%; width:clamp(90px, 12vw, 160px);
  opacity:.84; filter:drop-shadow(0 0 24px rgba(255, 198, 122, .36));
}
.nt-ph-moon svg { display:block; width:100%; fill:#f1c98f; stroke:#f3cf9b; stroke-width:.8; }
.nt-ph-home-pumpkin {
  position:absolute; top:42%; right:5.2%; width:clamp(58px, 7vw, 92px);
  filter:drop-shadow(0 12px 22px rgba(12, 8, 12, .52));
  animation:nt-ph-pumpkin-hover 6s ease-in-out .3s infinite;
}
.hero-premium .nt-ph-web { width:clamp(130px, 12vw, 170px); }
.nt-ph-page-pumpkin {
  position:absolute; right:18%; bottom:5%; width:clamp(78px, 10vw, 118px);
  filter:drop-shadow(0 12px 20px rgba(12,8,12,.42));
  animation:nt-ph-pumpkin-hover 6.6s ease-in-out .4s infinite;
}
.nt-ph-pumpkin-body { fill:#c7783d; stroke:#f2d3a4; stroke-width:1.6; }
.nt-ph-rib { fill:none; stroke:#f2d3a4; stroke-width:1.3; stroke-linecap:round; opacity:.9; }
.nt-ph-stem { fill:none; stroke:#dba34e; stroke-width:4; stroke-linecap:round; }
.nt-ph-face { fill:#24141b; stroke:#f5c77b; stroke-width:1; stroke-linejoin:round; }
.nt-ph-bat { position:absolute; color:#1a131d; opacity:.94; filter:drop-shadow(0 2px 5px rgba(255, 200, 128, .2)); }
.nt-ph-bat svg { display:block; width:100%; fill:currentColor; stroke:#e6ac67; stroke-width:.9; }
.nt-ph-bat--one { width:clamp(38px, 4.6vw, 62px); top:19%; right:5%; animation:nt-ph-bat-hover 4.6s ease-in-out .6s infinite; }
.nt-ph-bat--two { width:clamp(27px, 3.4vw, 44px); top:26%; right:12%; opacity:.7; animation:nt-ph-bat-hover 5.4s ease-in-out 1s infinite reverse; }
.nt-ph-flight { position:absolute; inset:0; overflow:hidden; }
.nt-ph-falling {
  position:absolute; z-index:2; top:-52px; display:block; width:36px; height:36px;
  opacity:0; animation:nt-ph-fall 8s cubic-bezier(.42,.03,.58,.98) both;
}
.nt-ph-falling svg { display:block; width:100%; height:100%; }
.nt-ph-falling--pumpkin svg { overflow:visible; }
.nt-ph-falling--bat { width:46px; height:30px; color:#1c1521; animation-duration:7s; }
.nt-ph-falling--bat svg { fill:currentColor; stroke:#e8b16b; stroke-width:1; }
.nt-ph-falling--spider { width:26px; height:38px; color:#f0c27f; animation-duration:8.5s; }
.nt-ph-falling--spider svg { fill:#21151d; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.nt-ph-lane-1 { left:4%; }
.nt-ph-lane-2 { right:4%; }
.nt-public-halloween-layer--home .nt-ph-lane-1 { left:64%; }
.nt-public-halloween-layer--page .nt-ph-flight { display:none; }

.nt-ph-strip-art {
  position:absolute; z-index:1; inset:0; display:flex; align-items:center;
  justify-content:space-between; padding:0 clamp(18px,4vw,58px); pointer-events:none;
}
.nt-ph-strip-art > span:first-child { width:39px; color:#de934d; }
.nt-ph-strip-art > span:first-child svg { display:block; width:100%; filter:drop-shadow(0 3px 6px rgba(10,7,12,.4)); }
.nt-ph-strip-art > span:first-child .nt-ph-pumpkin-body { fill:#c7783d; stroke:#f1c98f; }
.nt-ph-strip-art > span:first-child .nt-ph-rib { stroke:#f1c98f; }
.nt-ph-strip-art > span:first-child .nt-ph-face { fill:#1a141d; stroke:none; }
.nt-ph-strip-art > span:last-child { width:58px; color:#1a141d; }
.nt-ph-strip-art > span:last-child svg { width:100%; fill:currentColor; stroke:#f1c98f; stroke-width:.9; }

.nt-ph-seasonal-section { position:relative; isolation:isolate; }
.nt-ph-seasonal-section > .wrap { position:relative; z-index:1; }
.nt-ph-section-art { position:absolute; z-index:0; inset:0; overflow:hidden; pointer-events:none; }
.nt-ph-section-art > span { position:absolute; top:0; right:0; width:clamp(125px,15vw,205px); color:#a95b43; opacity:.48; }
.nt-ph-section-art > span svg { width:100%; fill:none; stroke:currentColor; stroke-width:1.15; }
.nt-ph-section-art > b { position:absolute; right:4%; bottom:7%; width:72px; filter:drop-shadow(0 6px 14px rgba(45,25,28,.24)); }
.nt-ph-section-art > b svg { display:block; width:100%; }
.nt-ph-section-art > em { position:absolute; left:5%; bottom:15%; width:48px; color:#a95b43; opacity:.7; }
.nt-ph-section-art > em svg { display:block; width:100%; fill:currentColor; }
.nt-ph-section-art--experience > span { right:1%; top:0; }
.nt-ph-section-art--experience > b { display:none; }
.nt-ph-section-art--experience > em { left:auto; right:25%; bottom:12%; width:40px; color:#efbd78; }
.nt-ph-section-art--pricing > span { display:none; }
.nt-ph-section-art--pricing > b { top:20px; right:4%; bottom:auto; width:66px; opacity:.78; }
.nt-ph-section-art--pricing > em { display:none; }
.nt-ph-section-art--closing > span { left:0; right:auto; }
.nt-ph-section-art--closing > b { right:9%; bottom:18%; width:clamp(66px,9vw,104px); }
.nt-ph-section-art--closing > em { left:10%; bottom:18%; width:60px; }

body.nt-ph-popup-open { overflow:hidden; }
.nt-ph-popup {
  position:fixed; z-index:95; inset:0; display:grid; place-items:center; padding:22px;
  visibility:hidden; opacity:0; transition:opacity .34s ease, visibility .34s ease;
}
.nt-ph-popup.is-visible { visibility:visible; opacity:1; }
.nt-ph-popup__backdrop {
  position:absolute; inset:0; background:rgba(10,8,13,.78);
  backdrop-filter:blur(11px);
}
.nt-ph-popup__panel {
  position:relative; z-index:1; display:grid; grid-template-columns:1.08fr .92fr;
  width:min(900px,100%); max-height:min(700px,90dvh); overflow:auto;
  border:1px solid rgba(243,201,143,.56); border-radius:28px;
  color:#fff8ee; background:
    radial-gradient(ellipse at 92% 8%, rgba(216,116,55,.24), transparent 34%),
    linear-gradient(135deg,#281923,#15131a 60%,#352024);
  box-shadow:0 34px 110px rgba(0,0,0,.55),0 0 52px rgba(190,96,53,.18);
  transform:translateY(18px) scale(.985); transition:transform .42s cubic-bezier(.18,.75,.22,1);
}
.nt-ph-popup.is-visible .nt-ph-popup__panel { transform:translateY(0) scale(1); }
.nt-ph-popup__copy { position:relative; z-index:2; align-self:center; padding:clamp(30px,5vw,58px); }
.nt-ph-popup__eyebrow {
  display:inline-flex; align-items:center; gap:9px; margin-bottom:16px;
  color:#f0c27f; font-size:.72rem; font-weight:900; letter-spacing:.16em; text-transform:uppercase;
}
.nt-ph-popup__eyebrow::before { content:"✦"; color:#f6c983; font-size:1.15rem; }
.nt-ph-popup__title {
  max-width:510px; margin:0 0 18px; color:#fff8ee;
  font:500 clamp(2.35rem,5vw,4.15rem)/.98 Georgia,"Times New Roman",serif;
  letter-spacing:-.04em;
}
.nt-ph-popup__title em { color:#f1bd78; font-style:normal; }
.nt-ph-popup__copy p { max-width:440px; color:rgba(255,248,239,.82); font-size:1.04rem; }
.nt-ph-popup__offer {
  display:flex; align-items:center; gap:15px; width:fit-content; max-width:100%;
  margin-top:22px; padding:14px 17px; border:1px solid rgba(243,201,143,.52);
  border-radius:17px; background:linear-gradient(110deg,rgba(114,53,46,.52),rgba(36,24,33,.72));
  box-shadow:inset 0 1px rgba(255,255,255,.07),0 10px 28px rgba(0,0,0,.14);
}
.nt-ph-popup__offer-value {
  flex:0 0 auto; color:#f5c77f; font:700 2.35rem/.92 Georgia,"Times New Roman",serif;
  letter-spacing:-.06em; text-shadow:0 0 22px rgba(228,153,84,.22);
}
.nt-ph-popup__offer-value span { margin-left:1px; font:700 1.15rem/1 Arial,sans-serif; }
.nt-ph-popup__offer-copy { display:grid; gap:4px; color:#fff7ec; }
.nt-ph-popup__offer-copy strong { font-size:.86rem; font-weight:850; }
.nt-ph-popup__offer-copy span { color:rgba(255,248,239,.78); font-size:.78rem; line-height:1.4; }
.nt-ph-popup__actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:25px; }
.nt-ph-popup__primary {
  min-height:52px; padding:13px 20px; border:0; border-radius:999px;
  color:#21141b; background:linear-gradient(135deg,#f4c77f,#dc813c);
  font-weight:850; box-shadow:0 10px 30px rgba(196,91,39,.25);
}
.nt-ph-popup__secondary {
  min-height:48px; padding:12px 4px; color:#fff4e6; text-decoration:underline;
  text-decoration-color:rgba(243,201,143,.6); text-underline-offset:5px; font-weight:750;
}
.nt-ph-popup__note { display:block; margin-top:20px; color:rgba(255,248,239,.58); font-size:.78rem; }
.nt-ph-popup__close {
  position:absolute; z-index:4; top:14px; right:14px; display:grid; place-items:center;
  width:42px; height:42px; border:1px solid rgba(255,245,230,.25); border-radius:50%;
  color:#fff7ec; background:rgba(255,255,255,.07); font-size:1.5rem;
}
.nt-ph-popup__close:hover { background:rgba(255,255,255,.16); }
.nt-ph-popup__art {
  position:relative; display:grid; place-items:center; min-height:360px; overflow:hidden;
  border-left:1px solid rgba(243,201,143,.14);
  background:
    radial-gradient(circle at 52% 48%, rgba(229,132,64,.2), transparent 44%),
    linear-gradient(145deg,rgba(124,54,55,.2),rgba(16,13,20,.18));
}
.nt-ph-popup__art::before,.nt-ph-popup__art::after {
  content:""; position:absolute; width:250px; height:250px; border:1px solid rgba(243,201,143,.18);
  border-radius:50%; box-shadow:0 0 0 26px rgba(243,201,143,.04),0 0 0 52px rgba(243,201,143,.03);
}
.nt-ph-popup__art::before { transform:scale(.78); }
.nt-ph-popup__art::after { transform:scale(1.32); opacity:.55; }
.nt-ph-popup__moon { position:absolute; top:13%; left:17%; width:80px; color:#f5d39d; filter:drop-shadow(0 0 28px rgba(247,188,116,.5)); }
.nt-ph-popup__moon svg { display:block; width:100%; fill:#f4d5a3; }
.nt-ph-popup__pumpkin { position:relative; z-index:1; width:clamp(150px,21vw,218px); filter:drop-shadow(0 20px 25px rgba(0,0,0,.42)) drop-shadow(0 0 25px rgba(225,122,57,.27)); animation:nt-ph-pumpkin-hover 5.5s ease-in-out infinite; }
.nt-ph-popup__bat { position:absolute; top:27%; right:17%; width:58px; color:#100d14; filter:drop-shadow(0 0 9px rgba(243,201,143,.3)); animation:nt-ph-bat-hover 4.8s ease-in-out infinite; }
.nt-ph-popup__bat svg { display:block; width:100%; fill:currentColor; stroke:#e6ac67; stroke-width:.9; }
.nt-ph-popup__spark { position:absolute; color:#f2c684; opacity:.82; text-shadow:0 0 18px rgba(255,206,129,.7); }
.nt-ph-popup__spark--one { top:24%; left:41%; font-size:1.4rem; }
.nt-ph-popup__spark--two { right:23%; bottom:24%; font-size:1rem; }
.nt-ph-popup:focus-visible .nt-ph-popup__panel { outline:3px solid #f2c684; outline-offset:4px; }

@keyframes nt-ph-web-breathe { from { opacity:.48; } to { opacity:.84; } }
@keyframes nt-ph-spider-sway { from { transform:translateY(0) rotate(-4deg); } to { transform:translateY(28px) rotate(4deg); } }
@keyframes nt-ph-pumpkin-hover { 0%,100% { transform:translateY(0) rotate(-2deg); } 50% { transform:translateY(-9px) rotate(2deg); } }
@keyframes nt-ph-bat-hover { 0%,100% { transform:translateY(0) rotate(-3deg); } 50% { transform:translateY(-8px) rotate(3deg); } }
@keyframes nt-ph-fall { 0% { opacity:0; transform:translate3d(0,-3vh,0) rotate(-8deg); } 9% { opacity:.92; } 88% { opacity:.75; } 100% { opacity:0; transform:translate3d(0,var(--nt-ph-fall-distance,410px),0) rotate(210deg); } }

@media (max-width: 760px) {
  body.nt-halloween-2026 .hero-premium { min-height:760px; min-height:min(850px,100svh); }
  body.nt-halloween-2026 .hero-shade {
    background:
      radial-gradient(ellipse at 84% 19%, rgba(232,126,56,.2), transparent 33%),
      linear-gradient(90deg,rgba(17,13,21,.94),rgba(20,15,22,.68) 58%,rgba(20,15,22,.28)),
      linear-gradient(0deg,rgba(18,13,20,.58),transparent 78%);
  }
  body.nt-halloween-2026 .hero-copy { padding-top:118px; padding-bottom:90px; width:min(calc(100% - 28px),var(--max)); }
  body.nt-halloween-2026 .hero-copy h1 { max-width:650px; font-size:clamp(2.65rem,10vw,4.3rem); }
  body.nt-halloween-2026 .section { padding:76px 0; }
  body.nt-halloween-2026 .inspiration-grid { gap:13px; }
  body.nt-halloween-2026 .inspiration-grid article { padding:22px; }
  .nt-ph-web { width:96px; opacity:.7; }
  .nt-ph-spider { right:22px; width:25px; height:49px; }
  .nt-public-halloween-layer--home .nt-ph-moon { top:9%; right:7%; width:56px; }
  .nt-public-halloween-layer--home .nt-ph-home-pumpkin { top:48%; right:3%; width:44px; }
  .nt-public-halloween-layer--home .nt-ph-bat--one { top:18%; right:4%; width:33px; }
  .nt-public-halloween-layer--home .nt-ph-bat--two { top:23%; right:10%; width:24px; }
  .nt-ph-page-pumpkin { display:none; }
  .nt-ph-strip-art { padding:0 10px; }
  .nt-ph-strip-art > span:first-child { width:24px; }
  .nt-ph-strip-art > span:last-child { width:34px; }
  .nt-ph-falling { width:26px; height:26px; }
  .nt-ph-falling--bat { width:35px; height:24px; }
  .nt-ph-falling--spider { width:20px; height:30px; }
  .nt-ph-lane-1 { left:1%; }
  .nt-ph-lane-2 { right:1%; }
  .nt-public-halloween-layer--home .nt-ph-lane-1 { left:66%; }
  .nt-ph-section-art > b { width:42px; right:8px; bottom:4%; }
  .nt-ph-section-art--pricing > b { display:none; }
  .nt-ph-section-art > em { width:28px; left:3%; bottom:9%; }
  .nt-ph-section-art--experience > span { width:84px; }
  .nt-ph-section-art--experience > em { right:7%; bottom:7%; }
  .nt-ph-section-art--closing > b { width:50px; right:10px; bottom:10%; }
  .nt-ph-section-art--closing > em { width:36px; left:10px; bottom:12%; }
  .nt-ph-season-mark { gap:8px; margin-bottom:13px; padding:7px 10px 7px 8px; font-size:.63rem; }
  .nt-ph-season-mark__spark { width:24px; height:24px; }
  .nt-ph-popup { padding:12px; }
  .nt-ph-popup__panel { display:flex; flex-direction:column; width:min(520px,100%); max-height:92dvh; border-radius:22px; }
  .nt-ph-popup__copy { order:2; padding:23px 24px 27px; }
  .nt-ph-popup__title { max-width:420px; font-size:clamp(2rem,9vw,3rem); }
  .nt-ph-popup__copy p { font-size:.96rem; }
  .nt-ph-popup__actions { gap:8px; margin-top:18px; }
  .nt-ph-popup__primary { min-height:48px; padding:12px 16px; }
  .nt-ph-popup__art { order:1; min-height:190px; border-left:0; border-bottom:1px solid rgba(243,201,143,.16); }
  .nt-ph-popup__moon { top:12%; left:21%; width:55px; }
  .nt-ph-popup__pumpkin { width:128px; }
  .nt-ph-popup__bat { top:27%; right:23%; width:42px; }
  .nt-ph-popup__close { top:10px; right:10px; }
}
@media (max-width: 390px) {
  .nt-ph-season-mark__year { display:none; }
  body.nt-halloween-2026 .hero-copy h1 { font-size:clamp(2.4rem,9.8vw,3.3rem); }
  .nt-ph-popup__copy { padding:20px 19px 23px; }
  .nt-ph-popup__actions { align-items:stretch; flex-direction:column; }
  .nt-ph-popup__secondary { min-height:36px; }
}
@media (prefers-reduced-motion: reduce) {
  .nt-ph-web,.nt-ph-spider,.nt-ph-page-pumpkin,.nt-ph-home-pumpkin,.nt-ph-bat,
  .nt-ph-popup__pumpkin,.nt-ph-popup__bat { animation:none !important; }
  .nt-ph-falling { display:none !important; animation:none !important; }
  .nt-ph-popup,.nt-ph-popup__panel,.nt-ph-popup__primary,.nt-ph-popup__secondary {
    transition:none !important; scroll-behavior:auto !important;
  }
  body.nt-halloween-2026 .print-preview { transition:none !important; }
}

/* Correctifs de contraste : plusieurs règles héritées gardaient du texte clair
   sur le fond blanc du hero mobile et sur certains résumés clairs. */
body.nt-halloween-2026 .hero-premium .hero-copy {
  width: min(calc(100% - 40px), var(--max)) !important;
  box-sizing: border-box;
  margin-inline: auto !important;
  padding-inline: 20px;
  background: transparent;
}
body.nt-halloween-2026 .hero-copy .hero-tagline { color: #f3c98f !important; }
body.nt-halloween-2026 .hero-copy .hero-offer-line {
  color: #2a1b1f;
  border-left-color: #c36836;
  background: rgba(255, 244, 230, .96);
}
body.nt-halloween-2026 .mini-summary > small { color: rgba(255, 248, 239, .82); }
body.nt-halloween-2026 .page-hero p { color: rgba(255, 248, 239, .88); }
body.nt-halloween-2026 .section:not(.dark) { color: #201720; }
body.nt-halloween-2026 .section:not(.dark) .section-title p,
body.nt-halloween-2026 .section:not(.dark) .formula-inclusion-note,
body.nt-halloween-2026 .section:not(.dark) .steps-grid p,
body.nt-halloween-2026 .section:not(.dark) .faq-a {
  color: #51444b;
}

@media (max-width: 680px) {
  body.nt-halloween-2026 .hero-premium {
    display: block;
    min-height: 0;
    padding-top: 330px;
    background: #17121b;
  }
  body.nt-halloween-2026 .hero-bg {
    height: 350px;
    object-position: 80% top;
  }
  body.nt-halloween-2026 .hero-shade {
    inset: 0;
    height: auto;
    background: linear-gradient(180deg, rgba(17, 13, 21, .04) 0%, rgba(17, 13, 21, .2) 34%, #17121b 52%, #17121b 100%);
  }
  body.nt-halloween-2026 .hero-premium .hero-copy {
    width: min(calc(100% - 32px), var(--max)) !important;
    padding: 34px 20px 58px;
    color: #fff8ef;
  }
  body.nt-halloween-2026 .hero-copy > * { margin-left: 0; margin-right: 0; }
  body.nt-halloween-2026 .hero-copy h1 { margin: 16px 0 22px; color: #fffaf4; }
  body.nt-halloween-2026 .hero-copy .hero-actions { margin: 25px 0; }
  body.nt-halloween-2026 .hero-trust { margin: 25px 0 0; }
}
@media (max-height: 760px) and (min-width: 761px) {
  .nt-ph-popup__panel { grid-template-columns:1.2fr .8fr; max-height:96dvh; }
  .nt-ph-popup__copy { padding:clamp(18px,3vw,28px); }
  .nt-ph-popup__title { font-size:clamp(2.2rem,4vw,3.1rem); margin-bottom:14px; }
  .nt-ph-popup__copy p { font-size:.94rem; line-height:1.4; margin:10px 0; }
  .nt-ph-popup__offer { margin-top:14px; padding:12px 15px; }
  .nt-ph-popup__actions { gap:8px; margin-top:15px; }
  .nt-ph-popup__primary { min-height:46px; padding:11px 16px; }
  .nt-ph-popup__secondary { min-height:42px; }
  .nt-ph-popup__note { margin-top:12px; }
  .nt-ph-popup__art { min-height:260px; }
}
@media (max-height: 650px) and (min-width: 761px) {
  .nt-ph-popup__copy { padding:18px 24px; }
  .nt-ph-popup__title { font-size:clamp(2rem,3.4vw,2.8rem); }
  .nt-ph-popup__copy p { font-size:.88rem; }
  .nt-ph-popup__art { min-height:210px; }
}

@media (min-width: 681px) and (max-width: 900px) {
  body.nt-halloween-2026 .hero-premium .hero-shade {
    background: linear-gradient(90deg, rgba(21, 23, 25, .97) 0%, rgba(21, 23, 25, .91) 58%, rgba(21, 23, 25, .76) 100%);
  }
}
