:root{
  --paper: #f6f0df;
  --paper-2: #efe5cf;
  --ink: #2b241c;
  --muted: rgba(43,36,28,0.70);
  --muted-2: rgba(43,36,28,0.55);
  --border: rgba(74,56,39,0.18);
  --shadow: 0 20px 55px rgba(43,36,28,0.10);
  --terracotta: #b36c45;
  --olive: #5c7343;
  --gold: #c7a35b;
  --lemon: #d6c14b;
  --radius: 18px;
  --serif: "Cormorant Garamond", ui-serif, Georgia, serif;
  --sans: "Inter", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --script: "Allura", "Cormorant Garamond", ui-serif, Georgia, serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  font-family:var(--sans);
  background:
    radial-gradient(1200px 800px at 20% 10%, rgba(255,255,255,0.75), rgba(255,255,255,0.00) 60%),
    radial-gradient(900px 700px at 80% 25%, rgba(255,244,198,0.45), rgba(255,255,255,0.00) 62%),
    radial-gradient(1200px 900px at 50% 120%, rgba(92,115,67,0.10), rgba(255,255,255,0.00) 70%),
    linear-gradient(180deg, #f7f1df, #efe5cf);
  min-height:100vh;
}

.paper{
  max-width:1040px;
  margin:28px auto 42px;
  padding:22px 22px 10px;
  background:
    radial-gradient(1800px 1300px at 50% 10%, rgba(255,255,255,0.60), rgba(255,255,255,0.00) 60%),
    linear-gradient(180deg, var(--paper), var(--paper-2));
  border:1px solid var(--border);
  border-radius:26px;
  box-shadow:var(--shadow);
  position:relative;
  overflow:hidden;
}

.paper::before{
  content:"";
  position:absolute;
  inset:-60px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='420' height='420' filter='url(%23n)' opacity='.06'/%3E%3C/svg%3E");
  mix-blend-mode:multiply;
  pointer-events:none;
}

.heroIntro{
  display:flex;
  justify-content:center;
  margin:0 0 18px;
}

.hero{
  border-radius:22px;
  overflow:hidden;
  border:1px solid var(--border);
  position:relative;
  min-height:470px;
}

.hero__media{
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(0deg, rgba(43,36,28,0.35), rgba(43,36,28,0.05)),
    url("https://images.unsplash.com/photo-1529634891139-24d7dfc3a76b?auto=format&fit=crop&w=2200&q=80");
  background-size:cover;
  background-position:center;
  transform:scale(1.02);
}

.hero__overlay{
  position:relative;
  min-height:470px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:46px 18px 22px;
}

.hero__overlay::before{
  content:"";
  position:absolute;
  inset:0;
  background-color:rgba(245,240,230,0.22);
  background-image:url("./Gemini_Generated_Image_kgglkkkgglkkkggl.png");
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center;
  opacity:1;
  pointer-events:none;
  z-index:0;
}

.hero__overlay > *{
  position:relative;
  z-index:1;
}

.hero__card{
  width:min(560px, 92%);
  background:rgba(245,240,230,0.60);
  backdrop-filter: blur(7px);
  border:1px solid rgba(74,56,39,0.16);
  border-radius:22px;
  padding:22px 22px 18px;
  text-align:center;
  box-shadow: 0 18px 50px rgba(43,36,28,0.18);
  position:relative;
}

.hero__card::before{
  content:"";
  position:absolute;
  inset:10px;
  border-radius:18px;
  border:1px solid rgba(92,115,67,0.18);
  pointer-events:none;
}

.hero__initials{
  font-family:var(--serif);
  font-weight:600;
  letter-spacing:0.12em;
  font-size:26px;
  color:rgba(43,36,28,0.85);
}

.hero__title{
  margin:10px 0 12px;
  font-family:var(--serif);
  font-weight:600;
  letter-spacing:0.03em;
  font-size:42px;
}

.hero__meta{
  display:flex;
  gap:10px;
  align-items:baseline;
  justify-content:center;
  flex-wrap:wrap;
  color:var(--muted);
}

.hero__metaLabel{
  font-family:var(--serif);
  letter-spacing:0.08em;
  font-size:14px;
  text-transform:uppercase;
}

.hero__metaValue{
  font-size:15px;
  font-weight:500;
  color:rgba(43,36,28,0.78);
}

.hero__scroll{
  position:absolute;
  bottom:18px;
  left:50%;
  transform:translateX(-50%);
  width:42px;
  height:42px;
  border-radius:999px;
  border:1px solid rgba(245,240,230,0.65);
  background:rgba(43,36,28,0.16);
  display:grid;
  place-items:center;
  text-decoration:none;
}

.hero__scrollLine{
  width:2px;
  height:14px;
  border-radius:999px;
  background:rgba(245,240,230,0.80);
  position:relative;
}

.hero__scrollLine::after{
  content:"";
  position:absolute;
  width:8px;
  height:8px;
  border-right:2px solid rgba(245,240,230,0.80);
  border-bottom:2px solid rgba(245,240,230,0.80);
  transform:rotate(45deg);
  left:50%;
  top:9px;
  margin-left:-5px;
}

.content{
  padding:24px 2px 6px;
}

.section{
  margin:22px 0;
  padding:22px 18px 18px;
  border-radius:22px;
  border:1px solid var(--border);
  background:
    radial-gradient(900px 500px at 15% 0%, rgba(255,255,255,0.60), rgba(255,255,255,0.00) 55%),
    linear-gradient(180deg, rgba(255,255,255,0.55), rgba(255,255,255,0.25));
  position:relative;
  overflow:hidden;
}

.framed::before,
.framed::after{
  content:none;
}

.section__header{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:16px;
}

.section__title{
  margin:0;
  font-family:var(--serif);
  font-weight:600;
  letter-spacing:0.14em;
  font-size:18px;
  text-transform:uppercase;
}

.section__subtitle{
  margin:0;
  color:var(--muted);
  font-size:14px;
}

.grid{
  display:grid;
  gap:16px;
}

.grid--logistics{
  grid-template-columns: 1.15fr 0.85fr;
}

.grid--two{
  grid-template-columns: 0.95fr 1.05fr;
  align-items:stretch;
}

.card{
  background:rgba(245,240,230,0.68);
  border:1px solid rgba(74,56,39,0.16);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow: 0 18px 40px rgba(43,36,28,0.08);
}

.card--text{
  padding:18px 18px 16px;
}

.card__title{
  margin:0 0 8px;
  font-family:var(--serif);
  font-weight:600;
  letter-spacing:0.06em;
}

.card__line{
  font-size:14px;
  color:var(--muted);
  line-height:1.55;
}

.addressBlock + .addressBlock{
  margin-top:16px;
}

.note{
  margin-top:16px;
  padding:14px 14px 12px;
  border-radius:14px;
  background:rgba(255,255,255,0.35);
  border:1px dashed rgba(92,115,67,0.25);
}

.note__title{
  font-family:var(--serif);
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  font-size:12px;
  color:rgba(92,115,67,0.90);
}

.note__text{
  margin-top:8px;
  font-size:14px;
  color:var(--muted);
  line-height:1.55;
}

.map{
  height:332px;
}

.mapLegend{
  display:flex;
  gap:16px;
  padding:12px 14px 14px;
  border-top:1px solid rgba(74,56,39,0.12);
  background:rgba(255,255,255,0.30);
}

.legendItem{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  color:var(--muted);
}

.legendDot{
  width:10px;
  height:10px;
  border-radius:999px;
  display:inline-block;
}

.legendDot--church{background:rgba(92,115,67,0.90)}
.legendDot--villa{background:rgba(179,108,69,0.92)}

.card--illustration{
  padding:18px;
  display:grid;
  place-items:center;
  background:
    radial-gradient(700px 360px at 40% 20%, rgba(255,255,255,0.60), rgba(255,255,255,0.00) 60%),
    linear-gradient(180deg, rgba(245,240,230,0.80), rgba(245,240,230,0.55));
}

.farmhouse{
  width:100%;
  max-width:520px;
  height:auto;
}

.row{
  display:flex;
  gap:12px;
  align-items:flex-start;
}

.row + .row{
  margin-top:14px;
}

.row__icon{
  width:34px;
  height:34px;
  border-radius:12px;
  display:grid;
  place-items:center;
  color:rgba(43,36,28,0.70);
  background:rgba(255,255,255,0.30);
  border:1px solid rgba(74,56,39,0.14);
  flex:0 0 34px;
}

.row__icon svg{
  width:18px;
  height:18px;
}

.row__label{
  font-family:var(--serif);
  font-weight:600;
  letter-spacing:0.06em;
}

.row__value{
  margin-top:4px;
  color:var(--muted);
  font-size:14px;
}

.divider{
  height:1px;
  background:rgba(74,56,39,0.12);
  margin:16px 0;
}

.section--menu{
  background:
    radial-gradient(1100px 520px at 10% 0%, rgba(255,255,255,0.70), rgba(255,255,255,0.00) 60%),
    radial-gradient(900px 520px at 90% 30%, rgba(199,163,91,0.10), rgba(255,255,255,0.00) 65%),
    linear-gradient(180deg, rgba(255,255,255,0.60), rgba(255,255,255,0.25));
}

.menuLayout{
  display:grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap:16px;
  align-items:stretch;
}

.menuPhoto{
  margin:0;
  border-radius:var(--radius);
  overflow:hidden;
  border:1px solid rgba(74,56,39,0.16);
  box-shadow: 0 18px 42px rgba(43,36,28,0.10);
}

.menuPhoto__media{
  height:380px;
  background-image:
    linear-gradient(0deg, rgba(43,36,28,0.20), rgba(43,36,28,0.00)),
    url("./devolay.jpg");
  background-size:cover;
  background-position:center;
}

.menuCard{
  border-radius:var(--radius);
  padding:18px 18px 16px;
  background:rgba(245,240,230,0.74);
  border:1px solid rgba(74,56,39,0.16);
  box-shadow: 0 18px 42px rgba(43,36,28,0.08);
  display:flex;
  flex-direction:column;
}

.menuCard__title{
  font-family:var(--serif);
  font-weight:600;
  font-size:24px;
  letter-spacing:0.06em;
  color:rgba(43,36,28,0.90);
  margin-bottom:10px;
}

.menuCard__items{
  display:grid;
  gap:12px;
  padding-top:6px;
  border-top:1px solid rgba(74,56,39,0.12);
}

.menuItem{
  display:flex;
  gap:10px;
  align-items:center;
}

.menuItem__icon{
  width:30px;
  height:30px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,0.32);
  border:1px solid rgba(179,108,69,0.20);
  color:rgba(179,108,69,0.92);
  flex:0 0 30px;
}

.menuItem__icon svg{
  width:17px;
  height:17px;
}

.menuItem__text{
  font-family:var(--script);
  font-size:22px;
  line-height:1.2;
  color:rgba(43,36,28,0.82);
}

.card--timeline{
  padding:14px 14px 12px;
}

.timeline{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:10px;
}

.timelineItem{
  display:grid;
  grid-template-columns: 34px 74px 1fr;
  gap:12px;
  align-items:center;
  padding:10px 10px;
  border-radius:14px;
  background:rgba(255,255,255,0.28);
  border:1px solid rgba(74,56,39,0.12);
}

.timelineItem__icon{
  width:34px;
  height:34px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:rgba(245,240,230,0.70);
  border:1px solid rgba(92,115,67,0.20);
  color:rgba(92,115,67,0.90);
}

.timelineItem__icon svg{
  width:18px;
  height:18px;
}

.timelineItem__time{
  font-family:var(--serif);
  font-weight:600;
  letter-spacing:0.08em;
  color:rgba(43,36,28,0.82);
}

.timelineItem__label{
  color:var(--muted);
  font-size:14px;
}

.team{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:16px;
}

.teamCard{
  background:rgba(245,240,230,0.70);
  border:1px solid rgba(74,56,39,0.16);
  border-radius:var(--radius);
  padding:18px 18px 16px;
  display:grid;
  justify-items:center;
  gap:10px;
  box-shadow: 0 18px 40px rgba(43,36,28,0.08);
  text-align:center;
}

.teamCard__photo{
  width:132px;
  height:132px;
  border-radius:999px;
  border:1px solid rgba(74,56,39,0.18);
  box-shadow: 0 14px 30px rgba(43,36,28,0.12);
  background-size:cover;
  background-position:center;
}

.teamCard__photo--dj{
  background-image:url("https://images.unsplash.com/photo-1520975869018-bc9b85b5b49c?auto=format&fit=crop&w=900&q=80");
}

.teamCard__photo--photo{
  background-image:url("https://images.unsplash.com/photo-1524504388940-b1c1722653e1?auto=format&fit=crop&w=900&q=80");
}

.teamCard__name{
  font-family:var(--serif);
  font-weight:600;
  letter-spacing:0.05em;
}

.teamCard__link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  text-decoration:none;
  color:rgba(43,36,28,0.80);
  font-size:13px;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(74,56,39,0.16);
  background:rgba(255,255,255,0.30);
}

.teamCard__link:hover{
  background:rgba(255,255,255,0.45);
}

.teamCard__roleIcon svg,
.teamCard__linkIcon svg{
  width:16px;
  height:16px;
}

.teamCard__roleIcon{
  color:rgba(92,115,67,0.90);
  display:inline-flex;
}

.teamCard__linkIcon{
  color:rgba(179,108,69,0.88);
  display:inline-flex;
}

.footer{
  padding:14px 6px 12px;
  text-align:center;
  color:rgba(43,36,28,0.58);
  font-family:var(--serif);
  letter-spacing:0.06em;
}

.footer__line{
  font-size:14px;
}

.leaflet-container{
  font-family:var(--sans);
}

.leaflet-control-attribution{
  background:rgba(245,240,230,0.78) !important;
  border-top-left-radius:12px;
  border:1px solid rgba(74,56,39,0.12);
  color:rgba(43,36,28,0.70) !important;
}

.pin{
  width:30px;
  height:30px;
  border-radius:999px;
  border:1px solid rgba(74,56,39,0.18);
  display:grid;
  place-items:center;
  background:rgba(245,240,230,0.95);
  box-shadow: 0 10px 22px rgba(43,36,28,0.18);
}

.pin svg{
  width:16px;
  height:16px;
}

.pin--church{color:rgba(92,115,67,0.95)}
.pin--villa{color:rgba(179,108,69,0.95)}

@media (max-width: 920px){
  .grid--logistics{
    grid-template-columns: 1fr;
  }
  .grid--two{
    grid-template-columns: 1fr;
  }
  .menuLayout{
    grid-template-columns: 1fr;
  }
  .menuPhoto__media{
    height:320px;
  }
  .team{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px){
  .paper{
    margin:0;
    border-radius:0;
    padding:16px 14px 10px;
  }
  .hero{
    border-radius:18px;
    min-height:440px;
  }
  .hero__overlay{
    min-height:440px;
  }
  .hero__title{
    font-size:36px;
  }
  .timelineItem{
    grid-template-columns: 34px 64px 1fr;
  }
}
