*{box-sizing:border-box}
:root{color-scheme:only light;}
html{scroll-behavior:smooth;background:#e8f0e4 !important;}
body{
  background-color:#e8f0e4 !important;
  margin:0;
  color:#334032;
  font-family:'Cormorant Garamond',serif;
  font-size:21px;
  line-height:1.6;
  background:linear-gradient(180deg,
      #dfe7e0 0%,
      #d6e0d6 18%,
      #ccd7cb 36%,
      #bccab7 56%,
      #a8b8a2 76%,
      #8da086 100%);
  background-attachment:scroll;
}
.hero{position:relative;width:100%;background:#dfe5dd;overflow:hidden}
.hero img{width:100%;height:auto;display:block}
.hero:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;
  background:
    linear-gradient(180deg,rgba(0,0,0,.16) 0%,rgba(0,0,0,.05) 34%,rgba(0,0,0,.02) 58%,rgba(0,0,0,.14) 100%);
}
.hero-title{
  position:absolute;
  left:50%;
  top:5.5%;
  transform:translateX(-50%);
  width:min(92%, 850px);
  text-align:center;
  color:#42513f;
  text-shadow:0 2px 12px rgba(249,252,248,.98), 0 0 24px rgba(249,252,248,.78), 0 1px 0 rgba(255,255,255,.65);
  z-index:2;
  pointer-events:none;
  padding:0 18px;
}
.hero-title h1{
  font-family:'Allura','Cormorant Garamond',serif;
  font-size:clamp(74px,9.2vw,156px);
  line-height:.95;
  font-weight:400;
  margin:0;
}
.hero-title p{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:clamp(38px,4.2vw,76px);
  font-weight:400;
  margin:4px 0 0;
  color:#4c5f49;
}
.countdown-section{
  background-color:#e2ecde;
  padding:34px 20px 20px;
  background:linear-gradient(180deg,rgba(223,231,224,.96),rgba(203,214,200,.92));
}
.countdown{
  display:flex;
  justify-content:center;
  gap:42px;
  color:#66785e;
  text-align:center;
}
.countdown strong{
  display:block;
  font-family:'Cormorant Garamond',serif;
  font-size:42px;
  line-height:1;
  font-weight:300;
}
.countdown span{
  font-family:'Cinzel',serif;
  text-transform:uppercase;
  letter-spacing:2px;
  font-size:11px;
}
main{max-width:1080px;margin:auto;padding:72px 24px}
section{margin-bottom:58px}
.quote{
  text-align:center;
  color:#42513f;
  padding:18px 20px 32px;
  max-width:900px;
  margin:0 auto 58px;
  text-shadow:0 1px 10px rgba(249,252,248,.72), 0 1px 0 rgba(255,255,255,.45);
}
.quote p{
  margin:0;
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(30px,4vw,54px);
  line-height:1.18;
}
.quote .confirm{
  margin-top:22px;
  font-size:clamp(24px,2.6vw,36px);
  color:#50644b;
}
.card{
  background-color:#f4f9f0;
  background:rgba(244,249,240,.90);
  border:1px solid rgba(170,187,164,.78);
  border-radius:24px;
  padding:42px;
  text-align:center;
  box-shadow:0 18px 50px rgba(50,63,46,.12);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}
h2{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:38px;
  font-weight:500;
  margin:0 0 20px;
  color:#66785e;
}
.time{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:28px;
}
a,button{
  display:inline-block;
  margin-top:18px;
  border:1px solid #7d9075;
  border-radius:999px;
  padding:11px 24px;
  background:transparent;
  color:#66785e;
  text-decoration:none;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:20px;
  cursor:pointer;
}
a:hover,button:hover{background:#7d9075;color:white}
.info-unica{padding:0;overflow:hidden}
.info-top{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  border-bottom:1px solid rgba(170,187,164,.78);
}
.info-top article{padding:42px}
.info-top article:first-child{border-right:1px solid rgba(170,187,164,.78)}
.parking{padding:38px 42px 42px}
.parking p{
  font-size:25px;
  max-width:860px;
  margin:0 auto 24px;
}
.parking span{font-style:italic}
.map{margin-top:26px;border-radius:18px;overflow:hidden}
form{display:flex;flex-direction:column;gap:14px;max-width:620px;margin:28px auto 0}
input,select,textarea{
  color-scheme:light;
  width:100%;
  border:1px solid #bfd0ba;
  border-radius:12px;
  padding:14px 16px;
  font-family:'Cormorant Garamond',serif;
  font-size:20px;
  background:#f4f8ef;
  color:#334032;
}
.form-status{
  margin:12px 0 0;
  font-style:italic;
  color:#66785e;
  font-size:21px;
}
button:disabled{opacity:.65;cursor:wait}
.iban{
  background-color:#e2ecde;
  margin-top:24px;
  background:#e2ecde;
  border-radius:16px;
  padding:20px;
  font-family:'Cormorant Garamond',serif;
  font-size:22px;
}
.iban span{
  display:block;
  font-family:'Cinzel',serif;
  letter-spacing:1.5px;
  font-size:11px;
  opacity:.75;
}
footer{
  text-align:center;
  background:rgba(69,84,64,.95);
  color:#f8fcf5;
  padding:42px;
}
footer p{
  font-family:'Allura','Cormorant Garamond',serif;
  font-size:70px;
  line-height:1;
  margin:0;
}
footer span{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:30px;
}
@media(max-width:850px){
  html{
    background:#e8f0e4 !important;
  }
  body{
    font-size:19px;
    background-color:#e8f0e4 !important;
    background-image:linear-gradient(180deg,
      #edf3e9 0%,
      #e8f0e4 35%,
      #e1ebdc 70%,
      #dce8d6 100%) !important;
    background-attachment:scroll !important;
    background-repeat:no-repeat !important;
    background-size:100% 100% !important;
    min-height:100vh;
  }
  .hero{
    height:72vh;
    min-height:460px;
    max-height:680px;
  }
  .hero img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center top;
  }
  .hero-title{
    top:18px;
    width:94%;
    padding:0 10px;
  }
  .hero-title h1{
    font-size:clamp(50px,14.5vw,76px);
    line-height:.9;
    white-space:nowrap;
  }
  .hero-title p{
    font-size:clamp(25px,7.7vw,38px);
    margin-top:2px;
  }
  .countdown{gap:18px;flex-wrap:wrap}
  .countdown strong{font-size:30px}
  .countdown-section{
  background-color:#e2ecde;
    background:linear-gradient(180deg,rgba(232,240,228,.97),rgba(221,234,216,.93));
  }
  main{padding:48px 18px}
  .quote{
    padding:18px 12px 26px;
    margin-bottom:48px;
  }
  .quote p{font-size:clamp(29px,8.3vw,42px)}
  .quote .confirm{font-size:clamp(23px,6.4vw,32px)}
  .card{
  background-color:#f4f9f0;padding:34px 22px;border-radius:22px}
  .info-top{grid-template-columns:1fr}
  .info-top article{padding:36px 22px}
  .info-top article:first-child{border-right:none;border-bottom:1px solid rgba(170,187,164,.78)}
  .parking{padding:34px 22px 36px}
  .parking p{font-size:21px}
}
@media(max-width:380px){
  .hero-title h1{font-size:48px}
  .hero-title p{font-size:24px}
}



@media (prefers-color-scheme: dark){
  :root{color-scheme:only light !important;}
  html{
    background:#e8f0e4 !important;
  }
  body{
    color:#334032 !important;
    background-color:#e8f0e4 !important;
    background-image:linear-gradient(180deg,
      #edf3e9 0%,
      #e8f0e4 35%,
      #e1ebdc 70%,
      #dce8d6 100%) !important;
    background-attachment:scroll !important;
    background-repeat:no-repeat !important;
    background-size:100% 100% !important;
  }
  .countdown-section{
    background:linear-gradient(180deg,rgba(232,240,228,.97),rgba(221,234,216,.93)) !important;
  }
  .card{
    background:rgba(244,249,240,.92) !important;
    background-color:#f4f9f0 !important;
  }
  input,select,textarea{
    background:#f4f8ef !important;
    color:#334032 !important;
  }
}
