/* L'Instant À Deux Events — photographie, blanc cassé et rose pourpre — 1.5.0. */
html {
  margin-top: 0 !important;
  scroll-behavior: smooth;
}
body.iad-photo-fullpage {
  margin: 0 !important;
  padding: 0 !important;
  background: #f7f5f1;
  color: #263047;
}
/* WordPress already reserves the admin-bar space on html. */
.iadp-page {
  --iadp-bg: #f7f5f1;
  --iadp-surface: #fffdfa;
  --iadp-grey: #efeff3;
  --iadp-ink: #263047;
  --iadp-muted: #515b70;
  --iadp-purple: #a63870;
  --iadp-blue: #a63870;
  --iadp-blue-ink: #a63870;
  --iadp-border: #dedde5;
  --iadp-shadow: 0 18px 50px rgb(38 48 71 / 7%);
  min-height: 100vh;
  background: var(--iadp-bg);
  color: var(--iadp-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  font-size: 17px;
  line-height: 1.7;
  overflow-wrap: break-word;
}
.iadp-page *, .iadp-page *::before, .iadp-page *::after { box-sizing: border-box; }
.iadp-page a { color: inherit; text-decoration: none; }
.iadp-page img { display: block; max-width: 100%; }
.iadp-page p { margin: 0 0 1.2rem; color: var(--iadp-muted); }
.iadp-page figure { margin: 0; }
.iadp-page :is(h1, h2, h3) {
  margin: 0 0 1.25rem;
  color: var(--iadp-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -.025em;
}
.iadp-page h2 { font-size: clamp(2.3rem, 4vw, 3.9rem); }
.iadp-page h3 { font-size: clamp(1.5rem, 2vw, 1.9rem); }
.iadp-container { width: min(1280px, 90%); margin-inline: auto; }
.iadp-page section[id], .iadp-page main[id] { scroll-margin-top: 125px; }
.iadp-page a:focus-visible {
  outline: 3px solid var(--iadp-blue-ink);
  outline-offset: 5px;
}
.iadp-skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 100001;
  padding: .75rem 1rem;
  border: 2px solid var(--iadp-blue-ink);
  border-radius: 10px;
  background: var(--iadp-surface);
  transform: translateY(-180%);
}
.iadp-skip-link:focus { transform: translateY(0); }
.iadp-header {
  position: sticky;
  top: 0;
  z-index: 50;
  border-bottom: 1px solid rgb(166 56 112 / 22%);
  background: rgb(255 253 250 / 96%);
  backdrop-filter: blur(14px);
}
body.admin-bar.iad-photo-fullpage .iadp-header { top: 32px; }
.iadp-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 100px;
  gap: 2rem;
}
.iadp-brand { display: flex; align-items: center; gap: 1rem; min-width: 0; }
.iadp-brand img {
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  border-radius: 50%;
  object-fit: contain;
  background: #111;
}
.iadp-brand span { font-size: clamp(1.05rem, 1.5vw, 1.45rem); font-weight: 500; }
.iadp-links { display: flex; align-items: center; gap: 2rem; font-size: .98rem; }
.iadp-links a { white-space: nowrap; transition: color .2s ease; }
.iadp-links a:hover { color: var(--iadp-purple); }
.iadp-links .iadp-nav-cta {
  padding: .6rem 1.65rem;
  border: 1.5px solid var(--iadp-blue);
  border-radius: 999px;
  color: var(--iadp-blue-ink);
}
.iadp-nav-cta:hover { background: rgb(166 56 112 / 5%); }
.iadp-eyebrow {
  margin-bottom: 1.05rem;
  color: var(--iadp-blue-ink);
  font-size: .77rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .13em;
}
.iadp-pink { color: var(--iadp-purple) !important; }
.iadp-gold { color: var(--iadp-blue-ink) !important; }
.iadp-muted { color: var(--iadp-muted); }
/* One photograph fills the hero; its original pixels remain unchanged. */
.iadp-hero { position: relative; isolation: isolate; overflow: hidden; background: var(--iadp-bg); }
.iadp-hero-media {
  position: absolute;
  z-index: -2;
  top: -32px;
  left: -32px;
  width: calc(140% + 32px);
  height: calc(100% + 64px);
}
.iadp-hero-media img {
  width: 100%;
  max-width: none;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
.iadp-hero::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  background: linear-gradient(90deg,
    rgb(247 245 241 / 97%) 0%,
    rgb(247 245 241 / 94%) 25%,
    rgb(247 245 241 / 90%) 43%,
    rgb(247 245 241 / 35%) 57%,
    rgb(247 245 241 / 0%) 70%);
}
.iadp-hero-inner {
  display: flex;
  align-items: center;
  min-height: 730px;
  padding-block: 88px;
}
.iadp-hero-copy { width: min(620px, 51%); }
.iadp-hero .iadp-eyebrow {
  margin-bottom: 1.8rem;
  color: #111;
  font-size: .88rem;
  font-weight: 500;
  letter-spacing: .01em;
}
.iadp-hero h1, .iadp-hero h1 span {
  color: var(--iadp-purple);
  font-style: normal;
  font-weight: 700;
  font-size: clamp(3rem, 5.05vw, 5.125rem);
  line-height: 1.16;
  letter-spacing: -.025em;
  text-shadow: 0 2px 18px rgb(166 56 112 / 7%);
}
.iadp-hero h1 { margin-bottom: 1.8rem; }
.iadp-hero-copy p { max-width: 520px; font-size: 1.16rem; line-height: 1.75; }
.iadp-hero-note {
  margin-top: 2rem;
  color: var(--iadp-muted);
  font-size: .76rem;
  text-transform: uppercase;
  letter-spacing: .025em;
}
.iadp-actions { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 2rem; }
.iadp-page a.iadp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  max-width: 100%;
  padding: .9rem 1.6rem;
  border: 1px solid #a63870;
  border-radius: 999px;
  background: #a63870;
  color: #fff;
  font-size: .99rem;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
  box-shadow: 0 8px 25px rgb(121 43 169 / 9%);
  transition: transform .2s ease, box-shadow .2s ease;
}
.iadp-page a.iadp-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 28px rgb(121 43 169 / 15%); }
.iadp-page a.iadp-btn-ghost {
  border-color: var(--iadp-blue);
  background: var(--iadp-surface);
  color: var(--iadp-blue-ink);
  box-shadow: none;
}
.iadp-section, .iadp-gallery-section { position: relative; padding-block: 100px; }
.iadp-story { display: grid; grid-template-columns: .85fr 1fr; align-items: center; gap: 5rem; }
.iadp-feature-frame {
  padding: 10px;
  border: 1px solid rgb(166 56 112 / 38%);
  border-radius: 26px;
  background: var(--iadp-surface);
  box-shadow: var(--iadp-shadow);
}
.iadp-feature-frame img { width: 100%; height: auto; border-radius: 18px; }
.iadp-story-copy p { font-size: 1.06rem; }
.iadp-signature {
  margin-top: 1.75rem;
  padding-left: 1.2rem;
  border-left: 2px solid var(--iadp-purple);
  color: var(--iadp-muted);
  font-size: .97rem;
}
.iadp-section-dark {
  background: radial-gradient(ellipse at 0 30%, rgb(166 56 112 / 3%), transparent 50%),
    radial-gradient(ellipse at 100% 70%, rgb(166 56 112 / 4%), transparent 45%), var(--iadp-grey);
  border-block: 1px solid var(--iadp-border);
}
.iadp-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.3rem; margin-top: 2.5rem; }
.iadp-card {
  padding: 2rem;
  border: 1px solid rgb(166 56 112 / 32%);
  border-radius: 22px;
  background: var(--iadp-surface);
  box-shadow: var(--iadp-shadow);
}
.iadp-card:nth-child(2) { border-color: rgb(166 56 112 / 38%); }
.iadp-card-no { display: block; margin-bottom: 1.3rem; color: var(--iadp-purple); font-size: .82rem; font-weight: 700; letter-spacing: .12em; }
.iadp-card p { margin-bottom: 0; font-size: .98rem; }
.iadp-offer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: 2rem 3rem;
  margin-top: 2.5rem;
  padding: 2.5rem;
  border: 1px solid rgb(166 56 112 / 38%);
  border-radius: 26px;
  background: var(--iadp-surface);
  box-shadow: var(--iadp-shadow);
}
.iadp-price {
  margin: .4rem 0 1.25rem;
  color: #a63870;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3.7rem, 5.5vw, 5.4rem);
  line-height: 1.1;
}
.iadp-offer p { margin-bottom: 0; }
.iadp-offer-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
.iadp-offer-list span {
  padding: .7rem .75rem;
  border: 1px solid rgb(166 56 112 / 25%);
  border-radius: 15px;
  background: var(--iadp-surface);
  color: var(--iadp-ink);
  font-size: .92rem;
  text-align: center;
}
.iadp-offer-list span:nth-child(even) { border-color: rgb(166 56 112 / 30%); }
.iadp-offer-action { grid-column: 1 / -1; }
.iadp-gallery-intro { max-width: 730px; }
.iadp-masonry { columns: 3; column-gap: 20px; margin-top: 2.5rem; }
.iadp-masonry figure {
  margin: 0 0 20px;
  break-inside: avoid;
  border: 1px solid rgb(166 56 112 / 28%);
  border-radius: 18px;
  overflow: hidden;
  background: var(--iadp-surface);
  box-shadow: var(--iadp-shadow);
}
.iadp-masonry figure:nth-child(even) { border-color: rgb(166 56 112 / 32%); }
.iadp-masonry img { width: 100%; height: auto; transition: transform .4s ease; }
.iadp-masonry figure:hover img { transform: scale(1.015); }
.iadp-cta {
  padding-block: 110px;
  border-top: 1px solid rgb(166 56 112 / 20%);
  background: radial-gradient(ellipse at 15% 10%, rgb(166 56 112 / 4%), transparent 45%),
    radial-gradient(ellipse at 85% 90%, rgb(166 56 112 / 5%), transparent 45%), var(--iadp-surface);
  text-align: center;
}
.iadp-cta p { max-width: 750px; margin-inline: auto; }
.iadp-cta .iadp-actions { justify-content: center; }
.iadp-footer { padding-block: 30px; border-top: 1px solid var(--iadp-border); background: #ebeaf0; color: var(--iadp-muted); font-size: .87rem; }
.iadp-footer-inner { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; }
@media (max-width: 1100px) {
  .iadp-brand span { font-size: 1.15rem; }
  .iadp-links { gap: 1.4rem; }
  .iadp-hero-media { width: calc(155% + 32px); }
  .iadp-hero-copy { width: 56%; }
  .iadp-hero::before {
    background: linear-gradient(90deg, rgb(247 245 241 / 97%) 0%,
      rgb(247 245 241 / 94%) 55%, rgb(247 245 241 / 25%) 70%,
      rgb(247 245 241 / 0%) 84%);
  }
  .iadp-hero h1, .iadp-hero h1 span { font-size: clamp(2.8rem, 5vw, 3.7rem); }
  .iadp-hero-copy p { font-size: 1.08rem; }
  .iadp-story { gap: 3rem; }
  .iadp-cards { gap: 1rem; }
  .iadp-card { padding: 1.5rem; }
}
@media (max-width: 900px) {
  .iadp-hero-media { top: -24px; left: 0; width: 100%; height: calc(100% + 48px); }
  .iadp-hero-media img { object-position: 80% top; }
  .iadp-hero::before {
    background: linear-gradient(180deg,
      rgb(247 245 241 / 0%) 0,
      rgb(247 245 241 / 3%) 170px,
      rgb(247 245 241 / 55%) 250px,
      rgb(247 245 241 / 93%) 335px,
      rgb(247 245 241 / 97%) 450px,
      var(--iadp-bg) 100%);
  }
  .iadp-hero-inner { min-height: 0; padding-block: 330px 64px; }
  .iadp-hero-copy { width: 100%; max-width: 640px; margin-inline: auto; }
  .iadp-hero h1, .iadp-hero h1 span { font-size: clamp(2.8rem, 7.7vw, 4.25rem); }
  .iadp-hero-copy p { max-width: 600px; }
  .iadp-story { grid-template-columns: 1fr; gap: 3rem; }
  .iadp-feature-frame { width: min(450px, 100%); margin-inline: auto; }
  .iadp-cards { grid-template-columns: 1fr; }
  .iadp-card { padding: 1.8rem; }
  .iadp-offer { grid-template-columns: 1fr; gap: 1.8rem; }
  .iadp-masonry { columns: 2; }
}
@media (max-width: 782px) {
  /* WordPress already reserves the admin-bar space on html. */
  body.admin-bar.iad-photo-fullpage .iadp-header { top: 46px; }
}
@media (max-width: 760px) {
  .iadp-nav { flex-wrap: wrap; gap: .6rem; padding-block: 12px; }
  .iadp-brand { width: 100%; justify-content: center; gap: .75rem; }
  .iadp-brand img { width: 44px; height: 44px; flex-basis: 44px; }
  .iadp-brand span { font-size: 1.06rem; }
  .iadp-links { width: 100%; justify-content: center; gap: 1.6rem; font-size: .89rem; }
  .iadp-links .iadp-nav-cta { padding: .38rem 1.1rem; }
  .iadp-page section[id], .iadp-page main[id] { scroll-margin-top: 165px; }
  .iadp-section, .iadp-gallery-section { padding-block: 75px; }
  .iadp-cta { padding-block: 85px; }
}
@media (max-width: 600px) {
  body.admin-bar.iad-photo-fullpage .iadp-header { top: 0; }
}
@media (max-width: 580px) {
  .iadp-links { gap: .8rem; font-size: .8rem; flex-wrap: wrap; }
  .iadp-links .iadp-nav-cta { padding-inline: .8rem; }
  .iadp-hero-media img { object-position: 50% top; }
  .iadp-container { width: 90%; }
  .iadp-hero-inner { padding-block: 300px 54px; }
  .iadp-hero h1, .iadp-hero h1 span { font-size: clamp(2.1rem, 9.8vw, 3.3rem); line-height: 1.16; }
  .iadp-hero .iadp-eyebrow { margin-bottom: 1.35rem; font-size: .73rem; }
  .iadp-hero h1 { margin-bottom: 1.5rem; }
  .iadp-hero-copy p { font-size: 1rem; }
  .iadp-hero-note { margin-top: 1.65rem; font-size: .7rem; }
  .iadp-actions { flex-direction: column; gap: .8rem; margin-top: 1.65rem; }
  .iadp-page a.iadp-btn { width: 100%; font-size: .94rem; }
  .iadp-page h2 { font-size: clamp(2rem, 8vw, 2.75rem); }
  .iadp-story { gap: 2.4rem; }
  .iadp-section, .iadp-gallery-section { padding-block: 60px; }
  .iadp-offer { padding: 1.5rem; border-radius: 22px; }
  .iadp-offer-list { grid-template-columns: 1fr; gap: .65rem; }
  .iadp-masonry { columns: 1; margin-top: 1.8rem; }
  .iadp-footer-inner { justify-content: center; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .iadp-page a, .iadp-masonry img { transition: none; }
  .iadp-page a.iadp-btn:hover, .iadp-masonry figure:hover img { transform: none; }
}
