html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

@media print {
  .no-print {
    display: none !important;
  }
  body {
    margin-bottom: 0;
  }
  a[href]:after {
    content: "";
  }
  .card {
    box-shadow: none !important;
  }
}

:root{
  --fpc-ivory:#faf7f0;
  --fpc-ivory-2:#f4efe6;
  --fpc-gray:#2b2b2b;
  --fpc-gray-2:#5e5e5e;
  --fpc-gold:#c7a35a;
  --fpc-gold-2:#b9924f;
  --fpc-serif:ui-serif,Georgia,"Times New Roman",Times,serif;
  --fpc-sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

.fpc-btn-gold{
  background:linear-gradient(135deg,var(--fpc-gold),var(--fpc-gold-2));
  border:1px solid rgba(0,0,0,0.06);
  color:#1f1a10;
  font-weight:600;
}
.fpc-btn-gold:hover{
  filter:brightness(0.98);
  color:#1f1a10;
}
.fpc-btn-gold:focus{
  box-shadow:0 0 0 0.2rem rgba(199,163,90,0.35);
}

.fpc-hero{
  position:relative;
  border-radius:28px;
  overflow:hidden;
  background:radial-gradient(900px 340px at 18% 8%, #ffffff 0%, var(--fpc-ivory) 42%, var(--fpc-ivory-2) 100%);
  border:1px solid rgba(0,0,0,0.06);
  min-height:340px;
}
.fpc-hero__bg{
  position:absolute;
  inset:0;
  pointer-events:none;
}
.fpc-hero__rays{
  position:absolute;
  inset:-40% -20%;
  background:
    conic-gradient(from 180deg at 65% 30%,
      rgba(199,163,90,0.00) 0deg,
      rgba(199,163,90,0.08) 16deg,
      rgba(199,163,90,0.00) 34deg,
      rgba(199,163,90,0.06) 54deg,
      rgba(199,163,90,0.00) 74deg,
      rgba(199,163,90,0.07) 98deg,
      rgba(199,163,90,0.00) 140deg,
      rgba(199,163,90,0.06) 170deg,
      rgba(199,163,90,0.00) 360deg);
  transform:translate3d(0,0,0) rotate(0deg);
  opacity:0.85;
  will-change:transform,opacity;
}

.fpc-hero__scene{
  position:absolute;
  inset:0;
  transform-style:preserve-3d;
  perspective:900px;
}
.fpc-hero__fallback{
  display:none;
  position:absolute;
  inset:0;
}
.fpc-hero__fallback-svg{
  width:100%;
  height:100%;
  display:block;
}

.fpc-hero__content{
  position:relative;
  z-index:1;
  padding:28px 24px 24px 24px;
  max-width:560px;
}
.fpc-hero__kicker{
  font-family:var(--fpc-sans);
  letter-spacing:0.12em;
  text-transform:uppercase;
  font-size:0.78rem;
  color:rgba(43,43,43,0.74);
  margin-bottom:10px;
}

.fpc-hero__logo{
  display:block;
  width:clamp(130px, 34vw, 220px);
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,0.10));
}
.fpc-hero__title{
  font-family:var(--fpc-serif);
  color:var(--fpc-gray);
  font-size:clamp(1.9rem,3.2vw,3.0rem);
  line-height:1.06;
  margin:0 0 12px 0;
}
.fpc-hero__lead{
  font-family:var(--fpc-sans);
  color:rgba(43,43,43,0.82);
  font-size:clamp(1.02rem,1.4vw,1.15rem);
  margin:0 0 18px 0;
}
.fpc-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.fpc-hero__lily{
  position:absolute;
  width:180px;
  height:180px;
  transform-style:preserve-3d;
  will-change:transform;
  filter:drop-shadow(0 12px 24px rgba(0,0,0,0.08));
  color:rgba(43,43,43,0.3);
}
.fpc-hero__lily--a{
  right:-24px;
  top:12px;
  transform:translate3d(0,0,60px) rotateX(14deg) rotateY(-18deg);
}
.fpc-hero__lily--b{
  right:96px;
  bottom:-44px;
  transform:translate3d(0,0,20px) rotateX(10deg) rotateY(22deg) scale(0.92);
  opacity:0.92;
}
.fpc-hero__petals{
  position:absolute;
  inset:0;
  transform-style:preserve-3d;
}
.fpc-hero__petal{
  position:absolute;
  left:50%;
  top:50%;
  width:92px;
  height:124px;
  transform-style:preserve-3d;
  transform-origin:50% 92%;
  border-radius:80px 80px 90px 90px;
  background:
    radial-gradient(closest-side at 46% 30%, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.55) 46%, rgba(199,163,90,0.12) 86%, rgba(199,163,90,0.00) 100%),
    linear-gradient(160deg, rgba(255,255,255,0.9) 0%, rgba(244,239,230,0.95) 52%, rgba(199,163,90,0.12) 100%);
  border:1px solid rgba(0,0,0,0.05);
  backface-visibility:hidden;
}
.fpc-hero__petal:nth-child(1){transform:translate3d(-50%,-58%,0) rotateZ(0deg) rotateX(18deg) rotateY(22deg) translateZ(22px);}
.fpc-hero__petal:nth-child(2){transform:translate3d(-50%,-58%,0) rotateZ(45deg) rotateX(16deg) rotateY(18deg) translateZ(18px);}
.fpc-hero__petal:nth-child(3){transform:translate3d(-50%,-58%,0) rotateZ(90deg) rotateX(18deg) rotateY(22deg) translateZ(22px);}
.fpc-hero__petal:nth-child(4){transform:translate3d(-50%,-58%,0) rotateZ(135deg) rotateX(16deg) rotateY(18deg) translateZ(18px);}
.fpc-hero__petal:nth-child(5){transform:translate3d(-50%,-58%,0) rotateZ(180deg) rotateX(18deg) rotateY(22deg) translateZ(22px);}
.fpc-hero__petal:nth-child(6){transform:translate3d(-50%,-58%,0) rotateZ(225deg) rotateX(16deg) rotateY(18deg) translateZ(18px);}
.fpc-hero__petal:nth-child(7){transform:translate3d(-50%,-58%,0) rotateZ(270deg) rotateX(18deg) rotateY(22deg) translateZ(22px);}
.fpc-hero__petal:nth-child(8){transform:translate3d(-50%,-58%,0) rotateZ(315deg) rotateX(16deg) rotateY(18deg) translateZ(18px);}

.fpc-hero__lily-core{
  position:absolute;
  left:50%;
  top:50%;
  width:38px;
  height:38px;
  transform:translate3d(-50%,-50%,46px);
  border-radius:50%;
  background:radial-gradient(circle at 35% 30%, rgba(255,255,255,0.9) 0%, rgba(199,163,90,0.55) 45%, rgba(199,163,90,0.35) 100%);
  border:1px solid rgba(0,0,0,0.06);
}

.fpc-hero__dove{
  position:absolute;
  width:88px;
  height:88px;
  color:rgba(43,43,43,0.34);
  will-change:transform,opacity;
}
.fpc-hero__dove--a{
  left:52%;
  top:20%;
  transform:translate3d(0,0,18px) rotate(10deg);
  opacity:0.65;
}
.fpc-hero__dove--b{
  left:66%;
  top:10%;
  transform:translate3d(0,0,10px) rotate(-6deg) scale(0.88);
  opacity:0.45;
}

.fpc-hero--no3d .fpc-hero__lily,
.fpc-hero--no3d .fpc-hero__dove{
  display:none;
}
.fpc-hero--no3d .fpc-hero__fallback{
  display:block;
}
.fpc-hero--reduced .fpc-hero__lily,
.fpc-hero--reduced .fpc-hero__dove{
  display:none;
}
.fpc-hero--reduced .fpc-hero__fallback{
  display:block;
}

.fpc-hero--active .fpc-hero__rays{
  animation:fpc-rays 18s linear infinite;
}
.fpc-hero--active .fpc-hero__lily--a{
  animation:fpc-lilyA 16s ease-in-out infinite;
}
.fpc-hero--active .fpc-hero__lily--b{
  animation:fpc-lilyB 19s ease-in-out infinite;
}
.fpc-hero--active .fpc-hero__dove--a{
  animation:fpc-doveA 14s ease-in-out infinite;
}
.fpc-hero--active .fpc-hero__dove--b{
  animation:fpc-doveB 17s ease-in-out infinite;
}

@keyframes fpc-rays{
  0%{transform:translate3d(0,0,0) rotate(0deg);opacity:0.78;}
  50%{opacity:0.9;}
  100%{transform:translate3d(0,0,0) rotate(360deg);opacity:0.78;}
}
@keyframes fpc-lilyA{
  0%{transform:translate3d(0,0,60px) rotateX(14deg) rotateY(-18deg) rotateZ(0deg);}
  50%{transform:translate3d(0,-10px,60px) rotateX(16deg) rotateY(2deg) rotateZ(8deg);}
  100%{transform:translate3d(0,0,60px) rotateX(14deg) rotateY(-18deg) rotateZ(0deg);}
}
@keyframes fpc-lilyB{
  0%{transform:translate3d(0,0,20px) rotateX(10deg) rotateY(22deg) rotateZ(0deg) scale(0.92);}
  50%{transform:translate3d(0,8px,20px) rotateX(8deg) rotateY(6deg) rotateZ(-7deg) scale(0.92);}
  100%{transform:translate3d(0,0,20px) rotateX(10deg) rotateY(22deg) rotateZ(0deg) scale(0.92);}
}
@keyframes fpc-doveA{
  0%{transform:translate3d(0,0,18px) rotate(10deg);opacity:0.6;}
  50%{transform:translate3d(10px,-14px,18px) rotate(6deg);opacity:0.75;}
  100%{transform:translate3d(0,0,18px) rotate(10deg);opacity:0.6;}
}
@keyframes fpc-doveB{
  0%{transform:translate3d(0,0,10px) rotate(-6deg) scale(0.88);opacity:0.42;}
  50%{transform:translate3d(-12px,12px,10px) rotate(-10deg) scale(0.88);opacity:0.55;}
  100%{transform:translate3d(0,0,10px) rotate(-6deg) scale(0.88);opacity:0.42;}
}

@media (max-width: 576px){
  .fpc-hero{
    min-height:360px;
    border-radius:22px;
  }
  .fpc-hero__content{
    padding:24px 18px 18px 18px;
  }
  .fpc-hero__lily{
    width:150px;
    height:150px;
  }
  .fpc-hero__lily--a{
    right:-44px;
    top:18px;
  }
  .fpc-hero__lily--b{
    right:54px;
    bottom:-60px;
    opacity:0.86;
  }
  .fpc-hero__dove--b{
    display:none;
  }
}

@media (prefers-reduced-motion: reduce){
  .fpc-hero__rays,
  .fpc-hero__lily,
  .fpc-hero__dove{
    animation:none !important;
    transform:none !important;
  }
  .fpc-hero__fallback{
    display:block;
  }
  .fpc-hero__lily,
  .fpc-hero__dove{
    display:none;
  }
}

:root{
  --fpc-bg:#ffffff;
  --fpc-fg:#121212;
  --fpc-accent:var(--fpc-gold);
  --fpc-accent-2:var(--fpc-gold-2);
  --fpc-nav-bg:rgba(255,255,255,0.92);
  --fpc-nav-fg:#1f242b;
  --fpc-nav-fg-muted:rgba(31,36,43,0.78);
  --fpc-nav-icon-filter:none;
  --fpc-bg-spot-1:rgba(199,163,90,0.28);
  --fpc-bg-spot-2:rgba(199,163,90,0.18);
  --fpc-bg-spot-3:rgba(0,0,0,0.05);
  --fpc-surface:rgba(255,255,255,0.85);
  --fpc-surface-border:rgba(0,0,0,0.08);
}

body{
  background:var(--fpc-bg);
  color:var(--fpc-fg);
}

body[data-fpc-theme="aurora"]{
  --fpc-bg:#070a12;
  --fpc-fg:#f3f6ff;
  --fpc-accent:#5be7c4;
  --fpc-accent-2:#8c7bff;
  --fpc-nav-bg:rgba(9,12,22,0.78);
  --fpc-nav-fg:#f3f6ff;
  --fpc-nav-fg-muted:rgba(243,246,255,0.82);
  --fpc-nav-icon-filter:invert(1);
  --fpc-bg-spot-1:rgba(91,231,196,0.22);
  --fpc-bg-spot-2:rgba(140,123,255,0.20);
  --fpc-bg-spot-3:rgba(99,230,255,0.10);
  --fpc-surface:rgba(14,18,34,0.70);
  --fpc-surface-border:rgba(255,255,255,0.10);
}

body[data-fpc-theme="neon-grid"]{
  --fpc-bg:#050511;
  --fpc-fg:#f6f4ff;
  --fpc-accent:#ff3df2;
  --fpc-accent-2:#2de2ff;
  --fpc-nav-bg:rgba(8,8,20,0.78);
  --fpc-nav-fg:#f6f4ff;
  --fpc-nav-fg-muted:rgba(246,244,255,0.82);
  --fpc-nav-icon-filter:invert(1);
  --fpc-bg-spot-1:rgba(255,61,242,0.20);
  --fpc-bg-spot-2:rgba(45,226,255,0.18);
  --fpc-bg-spot-3:rgba(59,44,255,0.12);
  --fpc-surface:rgba(12,12,26,0.70);
  --fpc-surface-border:rgba(255,255,255,0.10);
}

body[data-fpc-theme="sunset-dunes"]{
  --fpc-bg:#140a08;
  --fpc-fg:#fff7f1;
  --fpc-accent:#ffb347;
  --fpc-accent-2:#ff6b6b;
  --fpc-nav-bg:rgba(20,10,8,0.80);
  --fpc-nav-fg:#fff7f1;
  --fpc-nav-fg-muted:rgba(255,247,241,0.84);
  --fpc-nav-icon-filter:invert(1);
  --fpc-bg-spot-1:rgba(255,179,71,0.20);
  --fpc-bg-spot-2:rgba(255,107,107,0.18);
  --fpc-bg-spot-3:rgba(255,247,241,0.08);
  --fpc-surface:rgba(28,14,12,0.72);
  --fpc-surface-border:rgba(255,255,255,0.10);
}

.navbar.fpc-navbar{
  position:relative;
  z-index:1040;
  background:var(--fpc-nav-bg) !important;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.navbar.fpc-navbar .navbar-brand,
.navbar.fpc-navbar .nav-link,
.navbar.fpc-navbar .navbar-text{
  color:var(--fpc-nav-fg) !important;
}

.navbar.fpc-navbar .fpc-brand{
  display:inline-flex;
  align-items:center;
}

.navbar.fpc-navbar .fpc-brand__logo{
  width:auto;
  height:30px;
  object-fit:contain;
  display:block;
}

@media (min-width: 576px){
  .navbar.fpc-navbar .fpc-brand__logo{
    height:34px;
  }
}

.footer .fpc-footer-brand{
  display:inline-flex;
  align-items:center;
  vertical-align:middle;
}

.footer .fpc-footer-brand__logo{
  width:auto;
  height:24px;
  object-fit:contain;
  display:block;
}

.navbar.fpc-navbar .nav-link:hover,
.navbar.fpc-navbar .nav-link:focus-visible,
.navbar.fpc-navbar .navbar-brand:hover,
.navbar.fpc-navbar .navbar-brand:focus-visible{
  color:var(--fpc-accent) !important;
}

.navbar.fpc-navbar .navbar-toggler{
  border-color:var(--fpc-surface-border) !important;
}

.navbar.fpc-navbar .navbar-toggler-icon{
  filter:var(--fpc-nav-icon-filter);
  opacity:0.92;
}

.navbar.fpc-navbar .dropdown-menu{
  background:var(--fpc-surface);
  border-color:var(--fpc-surface-border);
  z-index:1050;
}

.navbar.fpc-navbar .dropdown-item{
  color:var(--fpc-fg);
}

.navbar.fpc-navbar .dropdown-item:hover,
.navbar.fpc-navbar .dropdown-item:focus{
  background:rgba(0,0,0,0.06);
}

body[data-fpc-theme="aurora"] .navbar.fpc-navbar .dropdown-item:hover,
body[data-fpc-theme="aurora"] .navbar.fpc-navbar .dropdown-item:focus,
body[data-fpc-theme="neon-grid"] .navbar.fpc-navbar .dropdown-item:hover,
body[data-fpc-theme="neon-grid"] .navbar.fpc-navbar .dropdown-item:focus,
body[data-fpc-theme="sunset-dunes"] .navbar.fpc-navbar .dropdown-item:hover,
body[data-fpc-theme="sunset-dunes"] .navbar.fpc-navbar .dropdown-item:focus{
  background:rgba(255,255,255,0.08);
}

.card,
.table{
  background:var(--fpc-surface);
  border-color:var(--fpc-surface-border);
}

.fpc-bg-2d{
  position:fixed;
  inset:0;
  z-index:-1;
  overflow:hidden;
  pointer-events:none;
  opacity:0;
  transition:opacity 450ms ease;
  background:
    radial-gradient(900px 520px at 16% 18%, var(--fpc-bg-spot-1) 0%, rgba(0,0,0,0) 60%),
    radial-gradient(860px 520px at 74% 24%, var(--fpc-bg-spot-2) 0%, rgba(0,0,0,0) 62%),
    radial-gradient(980px 700px at 58% 86%, var(--fpc-bg-spot-3) 0%, rgba(0,0,0,0) 64%);
}

.fpc-bg-2d--ready{
  opacity:1;
}

.fpc-bg-2d::before{
  content:'';
  position:absolute;
  inset:-8%;
  background:
    radial-gradient(600px 420px at 28% 30%, rgba(255,255,255,0.10) 0%, rgba(0,0,0,0) 62%),
    radial-gradient(520px 380px at 78% 30%, rgba(255,255,255,0.08) 0%, rgba(0,0,0,0) 64%),
    linear-gradient(180deg, rgba(0,0,0,0.10) 0%, rgba(0,0,0,0.00) 58%);
  transform:translate3d(var(--fpc-bg-x, 0px), var(--fpc-bg-y, 0px), 0);
  transition:filter 220ms ease;
}

.fpc-bg-2d::after{
  content:'';
  position:absolute;
  inset:-12%;
  opacity:0.18;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.12) 0 1px, rgba(0,0,0,0) 1px 24px),
    linear-gradient(0deg, rgba(255,255,255,0.08) 0 1px, rgba(0,0,0,0) 1px 24px);
  transform:translate3d(var(--fpc-bg-x2, 0px), var(--fpc-bg-y2, 0px), 0);
}

body.fpc-bg-boost .fpc-bg-2d::before{
  filter:saturate(1.10) brightness(1.04);
}

.fpc-bg-2d__ripple{
  position:absolute;
  width:var(--size, 520px);
  height:var(--size, 520px);
  border-radius:999px;
  transform:translate3d(-50%, -50%, 0) scale(0.22);
  background:radial-gradient(circle, rgba(255,255,255,0.22) 0%, rgba(255,255,255,0.12) 22%, rgba(0,0,0,0) 62%);
  opacity:0;
  animation:fpc-bg-ripple 700ms ease-out forwards;
}

@keyframes fpc-bg-ripple{
  0%{opacity:0; transform:translate3d(-50%, -50%, 0) scale(0.20);}
  20%{opacity:1;}
  100%{opacity:0; transform:translate3d(-50%, -50%, 0) scale(1.05);}
}

@media (prefers-reduced-motion: reduce){
  .fpc-bg-2d{
    transition:none;
  }
  .fpc-bg-2d::before,
  .fpc-bg-2d::after{
    transform:none !important;
  }
  .fpc-bg-2d__ripple{
    animation:none;
    display:none;
  }
}
