/* Copied from original main.css to structured css/ folder */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;0,900;1,400;1,700&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap');

:root {
  --bg:         #FAFAF8;
  --bg2:        #F3EFE9;
  --bg3:        #EDE8E0;
  --white:      #FFFFFF;
  --ink:        #1C1917;
  --ink2:       #57534E;
  --ink3:       #A8A29E;
  --ink4:       #D6D2CC;

  --accent:     #E05A3A;
  --accent-dk:  #C14828;
  --accent-lt:  #FEF1ED;
  --accent-md:  rgba(224,90,58,0.15);

  --teal:       #1D7A68;
  --teal-lt:    #E4F3F0;
  --gold:       #B8832A;
  --gold-lt:    #FBF4E5;

  --green:      #2E7D50;
  --green-lt:   #E8F5EE;
  --red:        #C0392B;
  --red-lt:     #FDEDEB;

  --r:          20px;
  --r-sm:       12px;
  --r-xs:       8px;
  --shadow-sm:  0 1px 8px rgba(28,25,23,0.07);
  --shadow:     0 4px 24px rgba(28,25,23,0.09);
  --shadow-lg:  0 12px 48px rgba(28,25,23,0.13);

  --nav-h:      72px;
  --max-w:      1200px;
  --section-py: 100px;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body {
  font-family:'Plus Jakarta Sans', sans-serif;
  background:var(--bg);
  color:var(--ink);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img { display:block; max-width:100%; }
a { text-decoration:none; color:inherit; }
ul { list-style:none; }
button { font-family:inherit; cursor:pointer; }
input, textarea, select { font-family:inherit; }

h1,h2,h3,h4,h5 {
  font-family:'Playfair Display', serif;
  line-height:1.15;
  letter-spacing:-0.02em;
  color:var(--ink);
}
.section-label {
  display:inline-flex; align-items:center; gap:8px;
  font-size:12px; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:var(--accent);
  background:var(--accent-lt); padding:6px 14px;
  border-radius:40px; margin-bottom:20px;
}
.section-title {
  font-size:clamp(32px, 5vw, 52px);
  font-weight:700; color:var(--ink);
  margin-bottom:16px;
}
.section-sub {
  font-size:clamp(16px, 2vw, 19px);
  color:var(--ink2); font-weight:400;
  max-width:560px; line-height:1.65;
}

.container {
  width:100%; max-width:var(--max-w);
  margin:0 auto; padding:0 24px;
}
.section { padding:var(--section-py) 0; }
.section-center { text-align:center; }
.section-center .section-sub { margin:0 auto; }

.btn {
  display:inline-flex; align-items:center; justify-content:center;
  gap:8px; border:none; cursor:pointer;
  font-family:'Plus Jakarta Sans', sans-serif;
  font-weight:700; border-radius:var(--r-sm);
  transition:all .2s cubic-bezier(.4,0,.2,1);
  white-space:nowrap; text-decoration:none;
  position:relative; overflow:hidden; letter-spacing:-.01em;
}
.btn::after {
  content:''; position:absolute; inset:0;
  background:rgba(255,255,255,0);
  transition:background .15s;
}
.btn:hover::after { background:rgba(255,255,255,.1); }
.btn:active { transform:scale(.97); }

.btn-primary {
  background:linear-gradient(135deg, var(--accent), var(--accent-dk));
  color:#fff; padding:14px 28px; font-size:15px;
  box-shadow:0 4px 20px rgba(224,90,58,.35);
}
.btn-primary:hover {
  box-shadow:0 8px 32px rgba(224,90,58,.45);
  transform:translateY(-2px);
}
.btn-outline {
  background:transparent; color:var(--ink);
  border:2px solid var(--ink4); padding:12px 26px; font-size:15px;
}
.btn-outline:hover { border-color:var(--accent); color:var(--accent); }

.btn-ghost {
  background:var(--bg2); color:var(--ink2);
  border:1px solid var(--bg3); padding:12px 22px; font-size:14px;
}
.btn-ghost:hover { background:var(--bg3); color:var(--ink); }

.btn-white {
  background:#fff; color:var(--accent); padding:14px 28px; font-size:15px;
  box-shadow:0 4px 20px rgba(0,0,0,.12);
}
.btn-white:hover { box-shadow:0 8px 32px rgba(0,0,0,.18); transform:translateY(-2px); }

.btn-sm { padding:9px 18px; font-size:13px; }
.btn-lg { padding:18px 36px; font-size:17px; border-radius:16px; }
.btn-full { width:100%; }

.reveal {
  opacity:0; transform:translateY(32px);
  transition:opacity .65s cubic-bezier(.4,0,.2,1), transform .65s cubic-bezier(.4,0,.2,1);
}
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-delay-1 { transition-delay:.1s; }
.reveal-delay-2 { transition-delay:.2s; }
.reveal-delay-3 { transition-delay:.3s; }
.reveal-delay-4 { transition-delay:.4s; }
.reveal-delay-5 { transition-delay:.5s; }

.badge {
  display:inline-flex; align-items:center; gap:5px;
  font-size:12px; font-weight:600; border-radius:20px; padding:4px 10px;
}
.badge-green  { background:var(--green-lt); color:var(--green); }
.badge-accent { background:var(--accent-lt); color:var(--accent); }
.badge-gold   { background:var(--gold-lt);   color:var(--gold); }
.badge-teal   { background:var(--teal-lt);   color:var(--teal); }

.dot-live { width:8px; height:8px; border-radius:50%; background:var(--green); display:inline-block; animation:pulse 1.8s infinite; }
@keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(1.3)} }

.divider { height:1px; background:var(--bg3); }

.card {
  background:var(--white); border-radius:var(--r);
  border:1px solid var(--bg3); padding:32px;
  box-shadow:var(--shadow-sm);
  transition:transform .2s, box-shadow .2s;
}
.card:hover { transform:translateY(-4px); box-shadow:var(--shadow); }

@keyframes fadeUp { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeIn { from{opacity:0} to{opacity:1} }
@keyframes slideRight { from{opacity:0;transform:translateX(-16px)} to{opacity:1;transform:translateX(0)} }
@keyframes shimmer { from{left:-100%} to{left:200%} }
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }

@media (max-width:768px) {
  :root { --section-py: 64px; }
  .hide-mob { display:none !important; }
}
@media (min-width:769px) {
  .hide-desk { display:none !important; }
}


