@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700;900&family=DM+Sans:ital,wght@0,300;0,400;0,500;0,600;1,400&display=swap');

:root {
  --navy:      #060e1a;
  --navy-mid:  #0c1f3a;
  --gold:      #d4af37;
  --gold-lt:   #f0cd5a;
  --gold-pale: #fdf6dc;
  --white:     #f9fbff;
  --text:      #1a2c44;
  --muted:     #5a7495;
  --border:    #e2e8f0;
  --r:         18px;
  --sh-sm:     0 4px 16px rgba(0,0,0,.07);
  --sh-md:     0 12px 40px rgba(0,0,0,.10);
  --sh-lg:     0 24px 64px rgba(0,0,0,.13);
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { font-family:'DM Sans',sans-serif; background:var(--white); color:var(--text); overflow-x:hidden; }
img { display:block; max-width:100%; }

/* NAVBAR */
.navbar {
  display:flex; justify-content:space-between; align-items:center;
  padding:1rem 2.5rem;
  background:rgba(6,14,26,.96); backdrop-filter:blur(14px);
  color:white; position:sticky; top:0; z-index:200;
  border-bottom:1px solid rgba(212,175,55,.12);
  transition:box-shadow .3s;
}
.navbar.scrolled { box-shadow:0 4px 28px rgba(0,0,0,.45); }
.logo {
  font-family:'Playfair Display',serif; font-size:1.55rem;
  font-weight:700; color:var(--gold); letter-spacing:.02em;
  text-decoration:none; transition:opacity .2s;
  text-shadow:0 0 36px rgba(212,175,55,.35);
}
.logo:hover { opacity:.8; }
nav { display:flex; gap:.25rem; }
.nav-link {
  color:rgba(255,255,255,.8); padding:.48rem 1.1rem;
  text-decoration:none; font-weight:500; font-size:.92rem;
  border-radius:30px; transition:background .25s,color .25s;
}
.nav-link:hover,.nav-link.active { background:rgba(212,175,55,.15); color:var(--gold); }

/* HERO */
.hero {
  min-height:100vh; display:flex; align-items:center;
  justify-content:center; text-align:center; color:white;
  position:relative; overflow:hidden;
}
.hero-bg { background:url('https://images.pexels.com/photos/210599/pexels-photo-210599.jpeg') center/cover fixed; }
.hero-bg::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(160deg,rgba(6,14,26,.82) 0%,rgba(6,14,26,.5) 50%,rgba(8,22,45,.82) 100%);
}
.hero-content {
  position:relative; z-index:2; max-width:680px; padding:3.5rem 2.5rem;
  border:1px solid rgba(212,175,55,.22); border-radius:26px;
  background:rgba(6,14,26,.38); backdrop-filter:blur(8px);
}
.hero-tag {
  display:inline-block;
  background:rgba(212,175,55,.18); border:1px solid rgba(212,175,55,.38);
  color:var(--gold-lt); padding:.28rem .9rem; border-radius:30px;
  font-size:.78rem; font-weight:600; letter-spacing:.12em;
  text-transform:uppercase; margin-bottom:1.1rem;
}
.hero-content h1 {
  font-family:'Playfair Display',serif;
  font-size:clamp(2.8rem,7vw,5rem); font-weight:900; line-height:1.05; margin-bottom:.9rem;
}
.glow { color:var(--gold); text-shadow:0 0 40px rgba(212,175,55,.6),0 0 80px rgba(212,175,55,.22); }
.hero-content > p { font-size:1.15rem; opacity:.82; margin-bottom:1.8rem; font-weight:300; letter-spacing:.06em; }
.hero-stats {
  display:flex; justify-content:center; gap:2rem; margin-top:2.2rem;
  padding-top:1.8rem; border-top:1px solid rgba(212,175,55,.2);
}
.stat-item { text-align:center; }
.stat-number { font-family:'Playfair Display',serif; font-size:1.9rem; font-weight:700; color:var(--gold); display:block; }
.stat-label { font-size:.72rem; opacity:.68; letter-spacing:.08em; text-transform:uppercase; }

/* BUTTONS */
.btn-primary {
  background:linear-gradient(135deg,var(--gold),var(--gold-lt));
  padding:.9rem 1.9rem; border-radius:30px; color:var(--navy);
  font-weight:700; font-size:.93rem; border:none;
  text-decoration:none; display:inline-block;
  transition:transform .3s,box-shadow .3s; letter-spacing:.025em; cursor:pointer;
}
.btn-primary:hover { transform:translateY(-3px) scale(1.04); box-shadow:0 14px 32px rgba(212,175,55,.44); }
.btn-primary:active { transform:translateY(-1px) scale(1.01); }
.btn-primary.full { width:100%; text-align:center; margin-top:1rem; }
.btn-outline {
  background:transparent; padding:.82rem 1.8rem; border-radius:30px;
  color:var(--gold); font-weight:600; font-size:.93rem;
  border:1.5px solid var(--gold); text-decoration:none; display:inline-block;
  transition:all .3s; cursor:pointer;
}
.btn-outline:hover { background:rgba(212,175,55,.12); transform:translateY(-2px); }

/* LAYOUT */
.section-label {
  display:inline-block; color:var(--gold);
  font-size:.76rem; font-weight:600; letter-spacing:.16em;
  text-transform:uppercase; margin-bottom:.75rem;
}
h2 { font-family:'Playfair Display',serif; font-size:clamp(1.9rem,3.5vw,2.7rem); font-weight:700; margin-bottom:1rem; line-height:1.2; color:var(--navy); }

/* ABOUT */
.split { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; }
.split p { font-size:1rem; line-height:1.8; color:var(--muted); margin-bottom:1rem; }
.founder-tag {
  display:inline-flex; align-items:center; gap:.65rem;
  background:var(--gold-pale); border:1px solid rgba(212,175,55,.3);
  padding:.55rem 1.1rem; border-radius:50px;
  font-size:.84rem; font-weight:600; color:#7a5c00; margin-top:.8rem;
}
.founder-tag span { font-weight:400; color:var(--muted); }
.img-stack { position:relative; }
.img-stack img { width:100%; border-radius:var(--r); box-shadow:var(--sh-lg); }
.img-badge {
  position:absolute; bottom:-1.1rem; right:-1.1rem;
  background:var(--gold); color:var(--navy);
  padding:.95rem 1.2rem; border-radius:14px;
  font-weight:700; font-size:.84rem; text-align:center;
  box-shadow:0 12px 28px rgba(212,175,55,.44); line-height:1.3;
}
.img-badge strong { display:block; font-size:1.55rem; font-family:'Playfair Display',serif; }

/* WHY SECTION */
.why-section {
  background:linear-gradient(140deg,var(--navy) 0%,var(--navy-mid) 100%);
  border-radius:28px; padding:4.5rem 4rem; color:white;
  max-width:1180px; margin:7rem auto;
}
.why-section .section-label { color:var(--gold-lt); }
.why-section h2 { color:white; }
.why-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:1.8rem; margin-top:2.5rem;
}
.why-card {
  background:rgba(255,255,255,.08); border:1px solid rgba(212,175,55,.2);
  padding:2rem 1.8rem; border-radius:16px; cursor:pointer;
  position:relative; transition:all .28s cubic-bezier(.25,.46,.45,.94);
  outline:none;
}
.why-card:hover {
  background:rgba(255,255,255,.13); border-color:rgba(212,175,55,.45);
  transform:translateY(-8px); box-shadow:0 18px 48px rgba(0,0,0,.3);
}
.why-card:focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
.why-icon { display:block; font-size:2.4rem; margin-bottom:.8rem; }
.why-card h3 { font-size:1.15rem; margin-bottom:.6rem; color:white; font-weight:700; }
.why-card p { font-size:.88rem; opacity:.7; line-height:1.6; }
.why-card-arrow { position:absolute; top:1.6rem; right:1.6rem; font-size:1.3rem; opacity:0; transform:translateX(-6px); transition:all .28s; }
.why-card:hover .why-card-arrow { opacity:1; transform:translateX(0); }

/* STEPS SECTION */
.steps-section { max-width:1180px; margin:7rem auto; padding:0 2rem; }
.step-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; margin-top:2.5rem;
}
.step-card {
  background:white; border:1.5px solid var(--border); border-radius:18px;
  padding:2.2rem 2rem; cursor:pointer; position:relative;
  transition:all .28s cubic-bezier(.25,.46,.45,.94); outline:none;
}
.step-card:hover {
  border-color:var(--gold); box-shadow:0 16px 40px rgba(212,175,55,.18);
  transform:translateY(-6px);
}
.step-card:focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
.step-number {
  display:flex; align-items:center; justify-content:center;
  width:48px; height:48px; background:linear-gradient(135deg,var(--gold),var(--gold-lt));
  border-radius:12px; color:var(--navy); font-weight:800; font-size:1.4rem;
  margin-bottom:1.2rem; font-family:'Playfair Display',serif;
}
.step-card h3 { font-size:1.15rem; margin-bottom:.6rem; color:var(--navy); }
.step-card p { font-size:.88rem; color:var(--muted); line-height:1.6; }

/* GALLERY */
.gallery-section {
  max-width:1180px; margin:7rem auto; padding:0 2rem;
}
.gallery-grid {
  display:grid; grid-template-columns:repeat(5,1fr); gap:1.2rem; margin-top:2rem;
  grid-template-rows:220px;
}
.gallery-item { position:relative; border-radius:12px; overflow:hidden; }
.gallery-item:first-child { grid-column:span 2; grid-row:span 1; }
.gallery-item img {
  width:100%; height:100%; object-fit:cover;
  transition:transform .4s cubic-bezier(.25,.46,.45,.94);
}
.gallery-item:hover img { transform:scale(1.06); }

/* PAYMENTS SECTION */
.payments-section {
  background:linear-gradient(140deg,var(--navy) 0%,var(--navy-mid) 100%);
  border-radius:28px; padding:4.5rem 4rem; color:white;
  max-width:1180px; margin:7rem auto;
  text-align:center;
}
.payments-section h2 { color:white; }
.payments-section .section-label { color:var(--gold-lt); }
.payments-section > p { color:rgba(255,255,255,.65); max-width:480px; margin:0 auto; font-size:.93rem; }
.payment-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:1rem;
  margin:2.5rem auto 0; max-width:860px;
}
.payment-chip {
  display:flex; align-items:center; justify-content:center; gap:.55rem;
  background:rgba(255,255,255,.07); border:1px solid rgba(212,175,55,.22);
  padding:1rem 1.4rem; border-radius:14px; font-size:.92rem; font-weight:500;
  transition:all .28s cubic-bezier(.25,.46,.45,.94);
  color:white; cursor:pointer; position:relative;
  user-select:none; -webkit-user-select:none; outline:none;
}
.payment-chip:hover { background:rgba(212,175,55,.14); border-color:rgba(212,175,55,.55); transform:translateY(-6px); box-shadow:0 10px 28px rgba(0,0,0,.25); color:var(--gold-lt); }
.payment-chip:focus-visible { outline:2px solid var(--gold); outline-offset:3px; }
.chip-icon { font-size:1.2rem; }

/* TESTIMONIALS — not clickable */
.testimonial-section { max-width:1180px; margin:7rem auto; padding:0 2rem; }
.testimonial-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; margin-top:2rem; }
.testimonial-card {
  background:white; border-radius:var(--r); padding:2.4rem 2.2rem;
  box-shadow:var(--sh-sm); border:1px solid rgba(0,0,0,.05);
  transition:all .28s;
}
.testimonial-card:hover { box-shadow:var(--sh-md); transform:translateY(-3px); }
.stars { color:var(--gold); margin-bottom:.75rem; font-size:1rem; letter-spacing:2px; }
.testimonial-card p { font-size:.9rem; line-height:1.75; color:var(--muted); font-style:italic; }
.reviewer { margin-top:1.2rem; font-weight:600; font-size:.86rem; color:var(--navy); }
.reviewer span { font-weight:400; color:var(--muted); }

/* PAGE HERO */
.page-hero {
  background:linear-gradient(140deg,var(--navy),var(--navy-mid));
  color:white; text-align:center; padding:5rem 2rem 4rem;
  position:relative; overflow:hidden;
}
.page-hero::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse at 50% 100%,rgba(212,175,55,.1) 0%,transparent 70%);
}
.page-hero h1 { font-family:'Playfair Display',serif; font-size:clamp(2.4rem,5vw,3.8rem); font-weight:700; color:var(--gold); position:relative; margin-bottom:.5rem; }
.page-hero > p { color:rgba(255,255,255,.72); font-size:1rem; position:relative; max-width:520px; margin:0 auto; }

/* FORMS */
.form-card { background:white; max-width:900px; margin:0 auto 5rem; padding:2.8rem 3rem; border-radius:26px; box-shadow:var(--sh-lg); }
.form-section-title { font-family:'Playfair Display',serif; font-size:1.3rem; font-weight:700; color:var(--navy); margin:2rem 0 1rem; padding-bottom:.5rem; border-bottom:2px solid var(--gold-pale); }
.field-label { font-size:.78rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); margin-bottom:.28rem; display:block; }
input,select,textarea { width:100%; padding:.85rem 1rem; margin:.25rem 0 .9rem; border-radius:10px; border:1.5px solid var(--border); font-size:.95rem; font-family:'DM Sans',sans-serif; background:#fafbfc; color:var(--text); outline:none; transition:border-color .28s,box-shadow .28s; }
input:focus,select:focus,textarea:focus { border-color:var(--gold); box-shadow:0 0 0 4px rgba(212,175,55,.12); background:white; }
textarea { min-height:118px; resize:vertical; }
.grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:0 1.1rem; }
.accordion { margin:1.2rem 0; }
.accordion details { background:#f8fafc; border:1.5px solid #eaeef3; border-radius:14px; padding:1.1rem 1.4rem; margin:.55rem 0; transition:border-color .28s; }
.accordion details[open] { border-color:rgba(212,175,55,.38); background:#fdfbf7; }
.accordion summary { font-weight:600; cursor:pointer; color:var(--navy); font-size:.94rem; list-style:none; display:flex; justify-content:space-between; align-items:center; }
.accordion summary::-webkit-details-marker { display:none; }
.accordion summary::after { content:'+'; color:var(--gold); font-size:1.15rem; font-weight:300; transition:transform .25s; }
.accordion details[open] summary::after { content:'\2212'; transform:rotate(180deg); }
.accordion label { display:flex; justify-content:space-between; align-items:center; margin:.6rem 0; font-size:.9rem; color:var(--muted); }
.accordion input { width:90px; margin:0; }
.success { text-align:center; color:#136f2f; font-weight:600; background:#edfbf1; border:1px solid #b0efc3; padding:.85rem; border-radius:10px; margin-top:.9rem; animation:slideInUp .4s ease; }
.hidden { display:none; }

/* CONTACT PAGE */
.contact-wrapper { display:grid; grid-template-columns:1fr 1.65fr; gap:2.5rem; max-width:980px; margin:0 auto 5rem; padding:0 1.5rem; align-items:start; }
.contact-info { background:linear-gradient(145deg,var(--navy),var(--navy-mid)); color:white; border-radius:26px; padding:2.4rem 2rem; }
.contact-info h2 { font-family:'Playfair Display',serif; color:var(--gold); font-size:1.5rem; margin-bottom:.85rem; }
.contact-info > p { font-size:.88rem; opacity:.75; line-height:1.72; margin-bottom:1.6rem; }
.info-item { display:flex; align-items:flex-start; gap:.75rem; margin:1.1rem 0; font-size:.88rem; opacity:.85; }
.info-icon { width:34px; height:34px; background:rgba(212,175,55,.14); border-radius:9px; display:flex; align-items:center; justify-content:center; font-size:.95rem; flex-shrink:0; }
.contact-form-card { background:white; border-radius:26px; padding:2.4rem; box-shadow:var(--sh-lg); }

/* MODAL */
.modal-overlay { position:fixed; inset:0; z-index:1000; background:rgba(6,14,26,.75); backdrop-filter:blur(6px); display:flex; align-items:center; justify-content:center; padding:1.5rem; opacity:0; pointer-events:none; transition:opacity .28s; }
.modal-overlay.open { opacity:1; pointer-events:all; }
.modal-box { background:white; border-radius:24px; max-width:500px; width:100%; box-shadow:0 32px 80px rgba(0,0,0,.28); transform:translateY(22px) scale(.97); transition:transform .35s cubic-bezier(.22,1,.36,1); overflow:hidden; position:relative; }
.modal-overlay.open .modal-box { transform:none; }
.modal-header { background:linear-gradient(135deg,var(--navy),var(--navy-mid)); padding:1.8rem 2rem 1.5rem; color:white; }
.modal-icon { font-size:2rem; margin-bottom:.55rem; }
.modal-header h3 { font-family:'Playfair Display',serif; font-size:1.45rem; color:var(--gold); margin-bottom:.28rem; }
.modal-header p { font-size:.86rem; opacity:.7; }
.modal-body { padding:1.6rem 2rem 2rem; }
.modal-body p { font-size:.91rem; line-height:1.75; color:var(--muted); margin-bottom:1.1rem; }
.modal-body ul { list-style:none; margin-bottom:1.3rem; }
.modal-body ul li { padding:.4rem 0; font-size:.89rem; color:var(--text); border-bottom:1px solid #f0f4f8; display:flex; align-items:center; gap:.55rem; }
.modal-body ul li::before { content:'\2713'; color:var(--gold); font-weight:700; font-size:.82rem; flex-shrink:0; }
.modal-actions { display:flex; gap:.8rem; flex-wrap:wrap; }
.modal-close { position:absolute; top:.9rem; right:1rem; background:rgba(255,255,255,.12); border:none; color:white; width:28px; height:28px; border-radius:50%; font-size:.95rem; font-weight:600; display:flex; align-items:center; justify-content:center; transition:background .2s; cursor:pointer; }
.modal-close:hover { background:rgba(255,255,255,.25); }

/* FOOTER */
footer { background:var(--navy); color:rgba(255,255,255,.55); padding:2.4rem; text-align:center; font-size:.86rem; }
footer strong { color:var(--gold); font-weight:600; }
footer a { color:rgba(255,255,255,.55); text-decoration:none; transition:color .2s; }
footer a:hover { color:var(--gold); }
.footer-inner { max-width:860px; margin:0 auto; display:flex; flex-direction:column; align-items:center; gap:.7rem; }
.footer-logo { font-family:'Playfair Display',serif; font-size:1.35rem; color:var(--gold); margin-bottom:.2rem; }

/* ANIMATIONS */
.fade-in        { animation:fadeUp .85s ease both; }
.fade-in-delay  { animation:fadeUp .85s ease .22s both; }
.fade-in-delay-2{ animation:fadeUp .85s ease .44s both; }
.fade-in-delay-3{ animation:fadeUp .85s ease .66s both; }
@keyframes fadeUp { from{opacity:0;transform:translateY(26px)} to{opacity:1;transform:translateY(0)} }
@keyframes slideInUp { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:translateY(0)} }
.reveal        { opacity:0; transform:translateY(44px); transition:opacity .75s ease,transform .75s ease; }
.reveal-left   { opacity:0; transform:translateX(-44px); transition:opacity .8s ease,transform .8s ease; }
.reveal-right  { opacity:0; transform:translateX(44px); transition:opacity .8s ease,transform .8s ease; }
.reveal.active,.reveal-left.active,.reveal-right.active { opacity:1; transform:none; }
.pulse { animation:pulse 2.8s infinite; }
@keyframes pulse { 0%{box-shadow:0 0 0 0 rgba(212,175,55,.7)} 70%{box-shadow:0 0 0 16px rgba(212,175,55,0)} 100%{box-shadow:0 0 0 0 rgba(212,175,55,0)} }
.shimmer { background:linear-gradient(90deg,#f0cd5a,#d4af37,#f8e88e,#d4af37); background-size:200% 100%; -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; animation:shimmer 3.2s linear infinite; }
@keyframes shimmer { to{background-position:-200% 0} }

/* RESPONSIVE */
@media (max-width:960px) {
  .why-grid        { grid-template-columns:repeat(2,1fr); }
  .step-grid       { grid-template-columns:repeat(2,1fr); }
  .testimonial-grid{ grid-template-columns:repeat(2,1fr); }
  .payment-grid    { grid-template-columns:repeat(2,1fr); max-width:480px; }
  .split           { grid-template-columns:1fr; gap:2rem; }
  .contact-wrapper { grid-template-columns:1fr; }
  .why-section,.payments-section { padding:3rem 2.5rem; }
  .gallery-grid { grid-template-columns:1fr 1fr; grid-template-rows:auto; }
  .gallery-item:first-child { grid-row:span 1; }
  .gallery-item { height:220px; }
}
@media (max-width:600px) {
  .navbar { padding:.9rem 1.2rem; }
  .why-grid,.step-grid,.testimonial-grid { grid-template-columns:1fr; }
  .payment-grid { grid-template-columns:repeat(2,1fr); max-width:100%; }
  .hero-content { padding:2.2rem 1.4rem; }
  .hero-stats { gap:1.2rem; }
  .form-card,.contact-form-card { padding:1.6rem 1.2rem; }
  .gallery-grid { grid-template-columns:1fr; }
  .modal-body,.modal-header { padding:1.4rem; }
}
