/* =========================================================
   French Template Base Style CSS
   style.css replacement candidate for the custom version.
========================================================= */

:root {
  --bg-white: #ffffff;
  --bg-cream: #ffffff;
  --bg-soft: #fcfbf9;
  --bg-pink: #fff4f2;
  --bg-green: #f3faf1;
  --bg-yellow: #fff8df;

  --text-main: #fff;
  --text-sub: #6f675f;
  --text-light: #948b83;
  --text-muted: #948b83;
  --text-on-dark: #ffffff;
  --text-on-dark-muted: rgba(255, 255, 255, 0.7);

  --accent-orange: #e7d08c;
  --accent-tomato: #e95c45;
  --accent-green: #7fa866;
  --accent-mustard: #d8a64a;
  --accent-pink: #f4a7a0;
  --french-blue: #0055a4;
  --french-red: #ef4135;
  --brown: #2d2019;

  --line: rgba(36, 32, 28, 0.12);
  --line-soft: rgba(36, 32, 28, 0.07);
  --line-dark: rgba(36, 32, 28, 0.12);

  --shadow-photo: 0 18px 42px rgba(58, 40, 22, 0.1);
  --shadow-soft: 0 10px 30px rgba(58, 40, 22, 0.08);
  --shadow-card: 0 20px 40px rgba(58, 40, 22, 0.06);
  --shadow-base: 0 18px 42px rgba(58, 40, 22, 0.1);

  --font-jp: "Shippori Mincho", "Noto Serif JP", "Yu Mincho", serif;
  --font-serif: "Shippori Mincho", "Noto Serif JP", "Yu Mincho", serif;
  --font-en: "Cormorant Garamond", "Playfair Display", "Georgia", serif;
  --font-sans: "Shippori Mincho", "Noto Serif JP", "Yu Mincho", serif;

  --ease: cubic-bezier(0.22, 1, 0.36, 1);

  /* Custom-version variable aliases */
  --bg-base: var(--bg-white);
  --bg-paper: var(--bg-soft);
  --bg-warm: var(--bg-white);
  --ink: var(--text-main);
  --gold: var(--accent-orange);
  --gold-light: var(--accent-tomato);
  --vermilion: var(--accent-tomato);
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  overflow-x: hidden;
}

body {
  width: 100%;
  max-width: 100vw;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  background:#000;
  color: var(--text-main);
  font-family: var(--font-serif);
  line-height: 2.05;
  letter-spacing: 0.055em;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  writing-mode: horizontal-tb;
  overflow-wrap: break-word;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -3;
  background-position: 0 0, 18px 18px;
  background-size: 36px 36px;
  opacity: 0.34;
  pointer-events: none;
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
}

img,
video {
  display: block;
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
  transition: color 0.25s ease, background 0.25s ease, border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

a:hover {
  color: var(--accent-tomato);
}

button,
input,
textarea,
select {
  font: inherit;
}

.fade-up {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity 0.82s var(--ease), transform 0.82s var(--ease);
}

.fade-up.is-visible {
  opacity: 1;
  transform: translateY(0);
}

p{
  color:#fff !important;
}

.delay-1 { transition-delay: 0.12s; }
.delay-2 { transition-delay: 0.24s; }

.split-text span {
  display: inline-block;
  opacity: 0;
  transform: translateY(18px) rotate(2deg);
  transition: opacity 0.46s var(--ease), transform 0.46s var(--ease);
  transition-delay: calc(var(--i) * 0.025s + 0.06s);
}

.split-text.is-visible span {
  opacity: 1;
  transform: none;
}