/* ================= CLEAN WHITE EXECUTIVE LOADER ================= */

#page-loader {
  position: fixed;
  inset: 0;
  background:
    radial-gradient(circle at 20% 0%, rgba(200,166,70,0.15), transparent 55%),
    radial-gradient(circle at 80% 100%, rgba(200,166,70,0.12), transparent 60%),
    #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  overflow: hidden;
  transform: translateY(0);
  transition:
    opacity 0.42s var(--ease-soft),
    visibility 0.42s var(--ease-soft),
    transform 0.42s var(--ease-soft);
}

/* Subtle luxury glow behind logo */
#page-loader::before {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  background: radial-gradient(
    circle,
    rgba(0,0,0,0.05) 0%,
    rgba(0,0,0,0.03) 40%,
    transparent 70%
  );
  border-radius: 50%;
  animation: loaderPulse 2.8s ease-in-out infinite;
}

/* Gold sweep at bottom */
#page-loader::after {
  content: "";
  position: absolute;
  left: -40%;
  right: -40%;
  bottom: 0;
  height: 6px;
  background: linear-gradient(90deg, #c8a646, #f4e3a2, #c8a646);
  box-shadow: 0 0 24px rgba(200,166,70,0.6);
  opacity: 0.9;
  transform: translateX(-20%);
  animation: loaderBar 2.2s ease-in-out infinite;
}

/* Logo styling */
.loader-logo {
  position: relative;
  z-index: 2;
}

.loader-logo img {
  width: 190px;
  opacity: 0;
  transform: scale(0.9) translateY(16px);
  filter:
    drop-shadow(0 10px 26px rgba(0,0,0,0.15))
    drop-shadow(0 0 26px rgba(200,166,70,0.35));
  transition:
    opacity 0.55s var(--ease-soft),
    transform 0.55s var(--ease-soft);
}

/* Reveal animation */
#page-loader.loaded .loader-logo img {
  opacity: 1;
  transform: scale(1.04) translateY(0);
}

/* Pulse animation */
@keyframes loaderPulse {
  0%   { transform: scale(0.9);  opacity: 0.5; }
  40%  { transform: scale(1.05); opacity: 1; }
  100% { transform: scale(0.96); opacity: 0.7; }
}

@keyframes loaderBar {
  0%   { transform: translateX(-40%); opacity: 0.0; }
  20%  { opacity: 0.9; }
  50%  { transform: translateX(40%); opacity: 1; }
  80%  { opacity: 0.7; }
  100% { transform: translateX(80%); opacity: 0; }
}

/* Fade out: stop decorative motion (saves compositor work once the real page is ready) */
#page-loader.fade-out::before,
#page-loader.fade-out::after {
  animation: none;
  opacity: 0;
  transition: opacity 0.35s ease;
}

#page-loader.fade-out {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-8px);
}

#page-loader.fade-out .loader-logo img {
  transform: scale(1.04) translateY(-2px);
  opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
  #page-loader,
  #page-loader .loader-logo img {
    transition-duration: 0.22s;
  }
  #page-loader::before,
  #page-loader::after {
    animation: none;
    opacity: 0.35;
  }
}


/* ================= BUTTONS (cinematic v2: CSS-only motion, no cursor-chase) ================= */

.btn {
  --btn-lift: -2px;
  --btn-scale: 1.01;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 18px 44px;
  border-radius: 6px;
  font-weight: 600;
  text-decoration: none;
  font-size: 15.5px;
  min-width: 180px;
  overflow: hidden;
  isolation: isolate;
  transform: translateZ(0);
  transition:
    transform 0.26s var(--ease-soft),
    background-color 0.26s var(--ease-soft),
    border-color 0.26s var(--ease-soft),
    box-shadow 0.26s var(--ease-soft),
    color 0.26s var(--ease-soft),
    filter 0.2s ease;
}

/* Soft light sweep — one short move on hover/focus, not continuous tracking */
.btn::before {
  content: "";
  position: absolute;
  inset: -1px;
  left: -45%;
  width: 55%;
  background: linear-gradient(
    105deg,
    transparent 0%,
    rgba(255, 255, 255, 0.22) 45%,
    rgba(255, 255, 255, 0.38) 50%,
    rgba(255, 255, 255, 0.16) 55%,
    transparent 100%
  );
  opacity: 0;
  transform: translateX(-12%) skewX(-12deg);
  transition:
    transform 0.42s var(--ease-soft),
    opacity 0.32s ease;
  pointer-events: none;
  z-index: 0;
}

.btn-primary {
  background: var(--gold);
  color: #080808;
  border: 1px solid rgba(0, 0, 0, 0.16);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 3px 14px rgba(200, 166, 70, 0.34);
}

.btn-primary:hover {
  background: var(--gold-hover);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.28),
    0 6px 22px rgba(200, 166, 70, 0.38),
    0 0 0 1px rgba(200, 166, 70, 0.2);
}

.btn-outline {
  border: 2px solid rgba(255, 255, 255, 0.75);
  color: #fff;
  text-shadow: none;
  background: transparent;
}

.btn-outline::before {
  background: linear-gradient(
    105deg,
    transparent 0%,
    rgba(255, 255, 255, 0.12) 45%,
    rgba(255, 255, 255, 0.22) 50%,
    rgba(255, 255, 255, 0.1) 55%,
    transparent 100%
  );
}

.btn-outline:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: #fff;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);
}

@media (hover: hover) and (pointer: fine) {
  .btn:hover {
    transform: translate3d(0, var(--btn-lift), 0) scale(var(--btn-scale));
  }

  .btn:hover::before {
    opacity: 0.55;
    transform: translateX(220%) skewX(-12deg);
  }
}

.btn:focus-visible {
  transform: translate3d(0, var(--btn-lift), 0) scale(var(--btn-scale));
}

.btn:focus-visible::before {
  opacity: 0.45;
  transform: translateX(120%) skewX(-12deg);
}

.btn-primary:active,
.btn-outline:active {
  transform: translate3d(0, 0, 0) scale(0.99);
  filter: brightness(0.97);
  transition-duration: 0.12s;
}

.btn-outline:active {
  filter: brightness(0.96);
}

/* ================= REFINED CINEMATIC DIVISION CARDS ================= */

.division-card {
  position: relative;
  height: 460px;
  border-radius: 24px;
  overflow: hidden;
  cursor: pointer;
  border: 1px solid rgba(255, 255, 255, 0.07);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.34);
  transition: transform var(--motion-medium) var(--ease-luxury),
              box-shadow var(--motion-medium) var(--ease-luxury),
              border-color var(--motion-medium) var(--ease-luxury);
}

/* Image */
.division-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  filter: saturate(var(--img-grade-sat)) contrast(var(--img-grade-contrast)) brightness(var(--img-grade-brightness));
  transition: transform var(--motion-slow) var(--ease-luxury),
              filter var(--motion-slow) var(--ease-luxury);
}

/* Overlay */
.division-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(10,18,34,.82),
    rgba(10,18,34,.38)
  );
  transition: background var(--motion-medium) var(--ease-luxury);
  z-index: 1;
}

/* Content container */
.division-content {
  position: absolute;
  bottom: 52px;
  left: 44px;
  z-index: 2;
  max-width: 72%;
}

/* Headline animation */
/* Headline default visible */
.division-content h3 {
  transform: translateY(0);
  opacity: 1;
  transition: transform var(--motion-slow) var(--ease-luxury), opacity var(--motion-slow) var(--ease-luxury);
}

/* Paragraph slightly softened */
.division-content p {
  transform: translateY(10px);
  opacity: 0.85;
  transition: transform var(--motion-slow) var(--ease-luxury), opacity var(--motion-slow) var(--ease-luxury);
}

/* 🔥 Text clarity upgrade */
.division-content h3,
.division-content p {
  text-shadow: 0 2px 10px rgba(0,0,0,.6);
}

/* Button — matches .btn-primary motion language */
.division-btn {
  --btn-lift: -2px;
  --btn-scale: 1.01;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 18px;
  padding: 12px 26px;
  border-radius: 6px;
  background: var(--gold);
  color: #080808;
  border: 1px solid rgba(0, 0, 0, 0.14);
  font-weight: 600;
  text-decoration: none;
  overflow: hidden;
  isolation: isolate;
  opacity: 0;
  transform: translate3d(0, 10px, 0);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.2),
    0 3px 14px rgba(200, 166, 70, 0.32);
  transition:
    transform var(--motion-medium) var(--ease-luxury),
    opacity var(--motion-medium) var(--ease-luxury),
    background-color var(--motion-fast) var(--ease-luxury),
    box-shadow var(--motion-fast) var(--ease-luxury),
    filter 0.2s ease;
}

.division-btn::before {
  content: "";
  position: absolute;
  inset: -1px;
  left: -45%;
  width: 55%;
  background: linear-gradient(
    105deg,
    transparent 0%,
    rgba(255, 255, 255, 0.22) 45%,
    rgba(255, 255, 255, 0.38) 50%,
    rgba(255, 255, 255, 0.16) 55%,
    transparent 100%
  );
  opacity: 0;
  transform: translateX(-12%) skewX(-12deg);
  transition:
    transform 0.42s var(--ease-soft),
    opacity 0.32s ease;
  pointer-events: none;
  z-index: 0;
}

.division-btn:hover {
  background: var(--gold-hover);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.26),
    0 6px 22px rgba(200, 166, 70, 0.38),
    0 0 0 1px rgba(200, 166, 70, 0.2);
}

@media (hover: hover) and (pointer: fine) {
  .division-btn:hover::before {
    opacity: 0.55;
    transform: translateX(220%) skewX(-12deg);
  }

  .division-card:hover .division-btn:hover,
  .division-card.in-view .division-btn:hover {
    transform: translate3d(0, var(--btn-lift), 0) scale(var(--btn-scale));
  }
}

.division-card:hover .division-btn:focus-visible,
.division-card.in-view .division-btn:focus-visible {
  transform: translate3d(0, var(--btn-lift), 0) scale(var(--btn-scale));
}

.division-btn:focus-visible::before {
  opacity: 0.45;
  transform: translateX(120%) skewX(-12deg);
}

.division-btn:active {
  transform: translate3d(0, 0, 0) scale(0.99);
  filter: brightness(0.97);
  transition-duration: 0.12s;
}

/* HOVER EFFECTS */

/* HOVER + SCROLL ACTIVE EFFECTS */

.division-card.in-view,
.division-card:hover {
  transform: translate3d(0, -5px, 0);
  border-color: rgba(255, 255, 255, 0.11);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.38);
}

.division-card:hover img,
.division-card.in-view img {
  transform: scale(1.08);
  filter: saturate(calc(var(--img-grade-sat) + 0.04)) contrast(var(--img-grade-contrast)) brightness(calc(var(--img-grade-brightness) + 0.06));
}

.division-card:hover .division-overlay,
.division-card.in-view .division-overlay {
  background: linear-gradient(
    to top,
    rgba(10,18,34,.72),
    rgba(10,18,34,.22)
  );
}

.division-card:hover h3,
.division-card.in-view h3 {
  transform: translateY(0);
  opacity: 1;
}

.division-card:hover p,
.division-card.in-view p {
  transform: translateY(0);
  opacity: 1;
  transition-delay: .2s;
}

.division-card:hover .division-btn,
.division-card.in-view .division-btn {
  transform: translate3d(0, 0, 0);
  opacity: 1;
  transition-delay: 0.24s;
}

@media (prefers-reduced-motion: reduce) {
  .btn,
  .btn::before,
  .division-btn,
  .division-btn::before {
    transition-duration: 0.01ms !important;
  }

  .btn,
  .btn:hover,
  .btn:focus-visible,
  .btn:active,
  .division-btn,
  .division-btn:hover,
  .division-btn:focus-visible,
  .division-btn:active {
    transform: none !important;
  }

  .btn::before,
  .btn:hover::before,
  .btn:focus-visible::before,
  .division-btn::before,
  .division-btn:hover::before,
  .division-btn:focus-visible::before {
    opacity: 0 !important;
    transform: none !important;
  }

  .division-card:hover .division-btn,
  .division-card.in-view .division-btn {
    transform: none !important;
    transition-delay: 0s !important;
  }
}

/* ================= FOOTER ================= */

/* Footer base overridden in layout.css for distinct block + border */
/* ================= SCROLL REVEAL ================= */

.reveal-init {
  opacity: 0;
  transform: translateY(14px);
  transition:
    opacity 0.75s var(--ease-soft),
    transform 0.75s var(--ease-soft);
}

.reveal-active {
  opacity: 1;
  transform: translateY(0);
}
/* ================= ABOUT CINEMATIC ================= */

.about-text h2 {
  font-size: 46px;
  margin-bottom: 28px;
  position: relative;
}

.about-text h2::after {
  content: "";
  position: absolute;
  bottom: -12px;
  left: 0;
  width: 72px;
  height: 2px;
  background: var(--gold-soft);
  border-radius: 2px;
}

.highlights {
  border-left: 2px solid var(--gold-soft);
  padding-left: 32px;
}

.highlights li {
  margin-bottom: 18px;
  font-size: 17px;
}

/* Homepage About section inline links */
#about-section a {
  color: inherit;
  text-decoration: none;
  transition: opacity 0.2s ease, text-decoration-color 0.2s ease;
}

#about-section a:hover {
  text-decoration: underline;
  opacity: 0.9;
}

#about-section a:visited {
  color: inherit;
}

/* Homepage About section text width + readability */
#about-section .about-left {
  max-width: 720px;
  margin: 0 auto;
}

#about-section p {
  line-height: 1.75;
  margin-bottom: 22px;
}

/* ================= PREMIUM CINEMATIC FOOTER SIGNATURE ================= */

.crafted {
  display: inline-block;
  margin-top: 12px;
  font-size: 12px;
  letter-spacing: 0.12em;
  opacity: 0.78;
  position: relative;
  overflow: hidden;
  color: #ffffff; /* "Crafted by" stays white */
}

/* Phantom Text */
.phantom {
  display: inline-block;
  font-weight: 600;
  position: relative;

  background: linear-gradient(
    90deg,
  #c8a646 0%,
  #e8d38a 30%,
  #fff5c0 50%,
  #e8d38a 70%,
  #c8a646 100%
  );

  background-size: 280% auto;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;

  animation: goldIdleFlow 16s linear infinite;
}

/* Smooth continuous sweep */
@keyframes goldIdleFlow {
  0%   { background-position: -200% center; }
  100% { background-position: 200% center; }
}

/* Cinematic light sweep */
.phantom::before {
  content: "";
  position: absolute;
  top: 0;
  left: -120%;
  width: 120%;
  height: 100%;
  background: linear-gradient(
    120deg,
    transparent,
    rgba(255,255,255,0.16),
    transparent
  );
  transform: skewX(-20deg);
  transition: left 1.8s var(--ease-soft);
}

/* Hover Trigger */
.crafted:hover .phantom {
  filter: drop-shadow(0 0 8px rgba(200,166,70,0.38));
  animation-duration: 10s;
}

.crafted:hover .phantom::before {
  left: 120%;
}

/* Subtle lift on hover */
.crafted:hover {
  transform: translateY(-2px);
  transition: transform 0.8s var(--ease-soft);
}

/* ================= CONTACT PAGE LAYOUT ================= */

.contact-intro {
  max-width: 640px;
  margin: 0 auto 40px;
  text-align: center;
  font-size: 16px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.78);
}

.contact-grid {
  margin: 0 auto 40px;
  max-width: 900px;
  grid-template-columns: repeat(3, 1fr);
}

.contact-cta {
  text-align: center;
}

.contact-card {
  text-align: center;
}

.contact-card p {
  margin-top: 10px;
}

.contact-link {
  color: #ffffff;
  text-decoration: none;
  font-weight: 500;
}

.contact-link:hover {
  text-decoration: underline;
}

.contact-card .contact-location {
  color: rgba(255, 255, 255, 0.92);
  font-weight: 500;
}

.contact-inquiry {
  margin-top: -20px;
  display: none;
}

.contact-inquiry .about-inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 920px;
}

.contact-inquiry.open .about-inner {
  margin-left: auto;
  margin-right: auto;
}

.inquiry-form-wrap {
  display: flex;
  align-items: center;
}

.inquiry-form {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.inquiry-input,
.inquiry-textarea {
  width: 100%;
  margin-top: 6px;
  padding: 11px 14px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.04);
  color: #ffffff;
  font-family: inherit;
  font-size: 14px;
  outline: none;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
  transition:
    border-color 0.28s var(--ease-soft),
    background 0.28s var(--ease-soft),
    box-shadow 0.28s var(--ease-soft);
}

.inquiry-input:focus,
.inquiry-input:focus-visible,
.inquiry-textarea:focus,
.inquiry-textarea:focus-visible {
  border-color: rgba(200, 166, 70, 0.28);
  background: rgba(255, 255, 255, 0.065);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 0 0 3px rgba(200, 166, 70, 0.1);
}

.inquiry-textarea {
  resize: vertical;
  min-height: 120px;
}

.inquiry-error {
  min-height: 18px;
  font-size: 12px;
  color: #e8a0a0;
}

.inquiry-success {
  min-height: 18px;
  font-size: 14px;
  color: rgba(180, 220, 160, 0.95);
}

.inquiry-submit {
  align-self: flex-start;
}

.hp-field {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.contact-inquiry.open {
  display: block;
}

/* ================= KITCHEN TIMELINE ================= */

.kitchen-timeline {
  background: transparent;
}

.kitchen-timeline-header {
  text-align: center;
  max-width: 780px;
  margin: 0 auto 52px;
}

.kitchen-timeline-label {
  display: inline-block;
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.55);
  margin-bottom: 14px;
}

/* Below page-intro H1 (max 40px); matches kitchen & oil-gas journey pages */
.kitchen-timeline-title {
  font-size: clamp(26px, 2.85vw, 36px);
  margin-bottom: 14px;
  letter-spacing: 0.035em;
  line-height: 1.16;
  color: #ffffff;
  text-wrap: balance;
}

.kitchen-timeline-title .kitchen-accent {
  color: var(--gold);
  text-shadow: 0 0 12px rgba(200, 166, 70, 0.28);
}

.kitchen-timeline-intro {
  font-size: clamp(15px, 1.1vw, 17px);
  line-height: 1.7;
  color: rgba(255,255,255,0.78);
  max-width: 62ch;
  margin-left: auto;
  margin-right: auto;
}

.kitchen-timeline-note {
  margin: 12px auto 0;
  max-width: 52ch;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  line-height: 1.55;
  font-weight: 400;
  letter-spacing: 0.01em;
  color: rgba(222, 228, 240, 0.52);
}

.kitchen-timeline-stage {
  position: relative;
}

/* Mobile-only curved flow – hidden on desktop */
.kitchen-flow-mobile {
  display: none;
}

.kitchen-timeline-path-wrap {
  position: absolute;
  top: 24px;
  bottom: 60px;
  left: 50%;
  transform: translateX(-50%);
  min-height: 520px;
  display: flex;
  justify-content: center;
  pointer-events: none;
}

@media (min-width: 993px) {
  .kitchen-timeline-path-wrap {
    transform: translateX(calc(-50% + 12px));
  }
}

@media (min-width: 1440px) {
  .kitchen-timeline-path-wrap {
    transform: translateX(calc(-50% + 18px));
  }
}

.kitchen-timeline-path-wrap::before {
  content: "";
  position: absolute;
  inset: 8% 10%;
  background:
    radial-gradient(circle at 50% 40%, rgba(244,193,90,0.20), transparent 68%),
    radial-gradient(circle at 40% 70%, rgba(244,193,90,0.12), transparent 70%);
  filter: blur(55px);
  opacity: 0.55;
  pointer-events: none;
  z-index: 0;
}

.kitchen-timeline-svg {
  width: 100%;
  max-width: 320px;
  height: auto;
  overflow: visible;
  filter: drop-shadow(0 18px 45px rgba(0,0,0,0.7));
  position: relative;
  z-index: 1;
}

/* Trail: subtle base behind the animated path (desktop) */
.kitchen-road-base,
.kitchen-timeline-trail {
  fill: none;
  stroke: rgba(200,166,70,0.18);
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: 0.45;
}

/* Desktop guide curve: slightly clearer but still subtle */
.kitchen-timeline-trail {
  opacity: 0.35;
  stroke-width: 4;
}

.kitchen-road-progress {
  fill: none;
  stroke: #f4c15a;
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  filter: drop-shadow(0 0 4px rgba(200,166,70,0.25));
  transition:
    stroke 0.3s ease,
    filter 0.45s ease,
    stroke-width 0.3s ease;
}

.kitchen-timeline-path-active {
  filter:
    drop-shadow(0 0 6px rgba(200,166,70,0.35))
    drop-shadow(0 0 14px rgba(200,166,70,0.25));
  stroke-width: 5;
}

.kitchen-timeline-node {
  fill: #161b2a;
  stroke: #3f4555;
  stroke-width: 2;
  r: 9;
  transition:
    fill 0.35s ease,
    stroke 0.35s ease,
    transform 0.35s var(--ease-soft),
    filter 0.35s ease;
}

.kitchen-timeline-node.is-active {
  fill: #f4c15a;
  stroke: #ffffff;
  transform: scale(1.25);
  filter: drop-shadow(0 0 12px rgba(244,193,90,0.9));
}

.kitchen-timeline-steps {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 60px;
  max-width: 1100px;
  margin: 0 auto;
}

.kitchen-step {
  position: relative;
  max-width: 430px;
  padding: 18px 22px 20px;
  border-radius: 0;
  background: transparent;
  border: none;
  box-shadow: none;
  opacity: 0.75;
  transform: translateY(28px);
  transition: transform 0.45s ease, opacity 0.45s ease;
}

.kitchen-step:nth-child(odd) {
  align-self: flex-start;
  margin-right: 40%;
  text-align: left;
}

.kitchen-step:nth-child(even) {
  align-self: flex-end;
  margin-left: 40%;
  text-align: right;
}

.kitchen-step-meta {
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: rgba(244,193,90,0.85);
  margin-bottom: 6px;
}

.kitchen-step-title {
  font-size: 20px;
  margin-bottom: 8px;
  color: #ffffff;
}

.kitchen-step-body {
  font-size: 14px;
  line-height: 1.7;
  color: rgba(221,226,242,0.86);
}

.kitchen-step.is-active {
  opacity: 1;
  transform: translateY(0);
  border: none;
  box-shadow: none;
}

/* Subtle lift + brighten for the current step */
.kitchen-step.active,
.kitchen-step.is-active {
  transform: translateY(-6px);
  opacity: 1;
}

.kitchen-particles,
.kitchen-particle {
  display: none;
}

/* Kitchen page: tablet and mobile – flow on left, steps in one column to the right (compact on mobile) */
@media (max-width: 992px) {
  /* More top padding so title sits lower from navbar – premium look */
  body:is(.kitchen-page, .oil-gas-page) #kitchen-timeline {
    padding: 116px 0 52px !important;
  }

  .kitchen-timeline-header {
    margin-bottom: 32px;
    padding: 0 16px;
  }

  .kitchen-timeline-label {
    font-size: 9.5px;
    letter-spacing: 0.2em;
  }

  .kitchen-timeline-title {
    font-size: 21px;
    margin-bottom: 10px;
    line-height: 1.18;
  }

  .kitchen-timeline-intro {
    font-size: 14px;
    line-height: 1.65;
  }

  .kitchen-timeline-note {
    font-size: 12px;
    margin-top: 10px;
  }

  /* Mobile: hide desktop SVG; show curved flow (wavy SVG that fits in column). */
  .kitchen-timeline-path-wrap {
    display: none;
  }

  /* Curved flow line – visible only on mobile, smooth wave from first to last point */
  .kitchen-flow-mobile {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 64px;
    z-index: 1;
    pointer-events: none;
    overflow: hidden;
  }

  .kitchen-flow-mobile-svg {
    width: 100%;
    height: 100%;
    display: block;
  }

  /* Trail: full path, subtle background behind the animated line */
  .kitchen-flow-mobile-trail,
  .kitchen-timeline-trail {
    stroke: rgba(200,166,70,0.18);
    stroke-width: 4;
    stroke-linecap: round;
    stroke-linejoin: round;
    opacity: 0.45;
  }

  /* Progress: lit part that follows scroll and hits each point */
  .kitchen-flow-mobile-progress {
    stroke: #f4c15a;
    stroke-width: 4;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
    filter: drop-shadow(0 0 4px rgba(200,166,70,0.25));
    transition:
      stroke-dashoffset 0.15s ease-out,
      stroke-width 0.35s ease,
      filter 0.35s ease;
  }

  /* ================= KITCHEN FLOW PULSE EFFECT ================= */
  .kitchen-flow-mobile-progress.pulse {
    stroke-width: 6;
    filter:
      drop-shadow(0 0 6px rgba(200,166,70,0.8))
      drop-shadow(0 0 14px rgba(200,166,70,0.45));
  }

  /* Hide straight line – we use the curved SVG above */
  .kitchen-timeline-stage::before {
    display: none;
  }

  /* Steps: premium spacing between points so flow has one consistent speed and every point can light */
  .kitchen-timeline-steps {
    position: relative;
    margin-left: 64px;
    padding-left: 14px;
    gap: 56px;
    max-width: 100%;
    z-index: 2;
  }

  .kitchen-step,
  .kitchen-step:nth-child(odd),
  .kitchen-step:nth-child(even) {
    align-self: stretch;
    margin-right: 0;
    margin-left: 0;
    max-width: 100%;
    text-align: left;
    position: relative;
    z-index: 1;
  }

  .kitchen-step-meta {
    font-size: 9.5px;
    letter-spacing: 0.2em;
  }

  .kitchen-step-title {
    font-size: 17px;
    margin-bottom: 4px;
  }

  .kitchen-step-body {
    font-size: 12px;
    line-height: 1.6;
  }

  /* Extra space above CTA so flow reaches last point and CTA at same speed as earlier points */
  .kitchen-cta {
    padding: 96px 0 32px;
  }

  .kitchen-cta-inner {
    padding: 20px clamp(14px, 4vw, 20px) 28px;
  }

  .kitchen-cta-inner h2 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: clamp(22px, 4.5vw, 26px);
    margin-bottom: 10px;
    line-height: 1.22;
    letter-spacing: 0.03em;
    color: #ffffff;
  }

  .kitchen-cta-inner .kitchen-cta-lede {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    line-height: 1.72;
    letter-spacing: 0.01em;
    margin: 4px auto 20px;
    max-width: 38ch;
    color: rgba(228, 232, 244, 0.82);
    font-weight: 400;
  }

  .kitchen-cta-inner .btn-primary {
    min-width: 170px;
  }
}

@media (max-width: 600px) {
  body:is(.kitchen-page, .oil-gas-page) #kitchen-timeline {
    padding: 96px 0 44px !important;
  }

  .kitchen-timeline-header {
    margin-bottom: 28px;
    padding: 0 12px;
  }

  .kitchen-timeline-title {
    font-size: 17px;
    margin-bottom: 8px;
    line-height: 1.2;
  }

  .kitchen-timeline-intro {
    font-size: 13px;
    line-height: 1.65;
  }

  .kitchen-timeline-note {
    font-size: 11px;
    margin-top: 8px;
  }

  .kitchen-flow-mobile {
    width: 56px;
  }

  .kitchen-timeline-steps {
    margin-left: 56px;
    padding-left: 14px;
    gap: 48px;
  }

  .kitchen-step {
    padding: 12px 0;
  }

  .kitchen-step-title {
    font-size: 16px;
    margin-bottom: 4px;
  }

  .kitchen-step-body {
    font-size: 12px;
  }

  .kitchen-cta {
    padding: 80px 0 28px;
  }

  .kitchen-cta-inner {
    padding: 18px clamp(12px, 4vw, 16px) 24px;
  }

  .kitchen-cta-inner h2 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: clamp(20px, 5vw, 24px);
    margin-bottom: 8px;
    line-height: 1.22;
    letter-spacing: 0.03em;
    color: #ffffff;
  }

  .kitchen-cta-inner .kitchen-cta-lede {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    line-height: 1.72;
    letter-spacing: 0.01em;
    margin: 2px auto 18px;
    max-width: 36ch;
    color: rgba(222, 226, 238, 0.8);
    font-weight: 400;
  }

  .kitchen-cta-inner .btn-primary {
    min-width: 160px;
  }
}

.kitchen-cta {
  position: relative;
  background: transparent; /* same continuous photo/grade as above */
  padding: 32px 0 40px;  /* align with timeline feel */
  filter: none; /* no blur when CTA is in view */
}

.kitchen-cta-inner {
  text-align: center;
  max-width: 640px;
  margin: 0 auto;
  border-radius: 0;
  background: transparent;
  border: none;
  box-shadow: none;
  opacity: 1;
  transform: none;
  filter: none;
  transition: none;
}

/* Supporting line: readable secondary tone (not heavy muted gray) */
.kitchen-cta-inner .kitchen-cta-lede {
  margin-inline: auto;
}

@media (min-width: 993px) {
  .kitchen-cta::before {
    content: "";
    position: absolute;
    top: -40px;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    height: 60px;
    background: linear-gradient(
      to bottom,
      rgba(200,166,70,0.6),
      rgba(200,166,70,0.0)
    );
    filter: blur(1px);
    opacity: 0.6;
  }

  .kitchen-cta-inner {
    padding: 24px clamp(16px, 4vw, 28px) 36px;
  }

  .kitchen-cta-inner h2 {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(26px, 3.15vw, 36px);
    font-weight: 700;
    margin-bottom: 14px;
    color: #ffffff;
    letter-spacing: 0.03em;
    line-height: 1.2;
  }

  .kitchen-cta-inner .kitchen-cta-lede {
    font-family: 'Inter', sans-serif;
    font-size: clamp(14px, 1.28vw, 15.5px);
    line-height: 1.74;
    letter-spacing: 0.012em;
    color: rgba(230, 234, 244, 0.84);
    margin: 6px auto 26px;
    max-width: 40ch;
    font-weight: 400;
  }

  .kitchen-cta-inner .btn-primary {
    min-width: 210px;
    margin-top: 4px;
  }
}

/* Desktop-only: softer spine glow behind the path (mobile unchanged above) */
@media (min-width: 993px) {
  .kitchen-timeline-path-wrap::before {
    inset: 11% 24%;
    background:
      radial-gradient(ellipse 36% 44% at 50% 44%, rgba(200, 166, 70, 0.075), transparent 72%),
      radial-gradient(ellipse 30% 36% at 50% 62%, rgba(244, 193, 90, 0.035), transparent 78%);
    filter: blur(36px);
    opacity: 0.36;
  }

  .kitchen-road-progress {
    filter: drop-shadow(0 0 3px rgba(200, 166, 70, 0.16));
  }

  .kitchen-timeline-path-active {
    filter: drop-shadow(0 0 5px rgba(200, 166, 70, 0.26));
  }
}

/* Keep CTA fully static – no extra reveal animation when it becomes active */
.kitchen-cta.is-active .kitchen-cta-inner {
  opacity: 1;
  transform: none;
  box-shadow: none;
}

/* ================= RENDERING PERFORMANCE ================= */

.parallax-bg,
.division-card,
.division-card img {
  transform: translateZ(0);
  will-change: transform;
}

.kitchen-timeline-path-wrap {
  transform: translateX(-50%) translateZ(0);
  will-change: transform;
}

#kitchen-timeline-path,
#kitchen-flow-mobile-path {
  transform: translateZ(0);
  will-change: stroke-dashoffset;
}

@media (min-width: 993px) {
  .kitchen-timeline-path-wrap {
    transform: translateX(calc(-50% + 12px)) translateZ(0);
  }
}

@media (min-width: 1440px) {
  .kitchen-timeline-path-wrap {
    transform: translateX(calc(-50% + 18px)) translateZ(0);
  }
}

.division-card img {
  will-change: transform, filter;
}

.kitchen-timeline,
.division-card,
.hero {
  contain: layout style paint;
}

/* Slightly darker hero overlay for better text contrast */
.slide::after {
  background:
    linear-gradient(to right, rgba(10,18,34,.95), rgba(10,18,34,.62)),
    radial-gradient(circle at center, transparent 55%, rgba(0,0,0,.68));
}

.privacy-last-updated {
  font-size: 13px;
  color: rgba(209, 213, 219, 0.55);
  margin: -6px 0 28px;
  letter-spacing: 0.02em;
}