
:root{
  --bg:#f5f1ea;
  --bg-soft:#fbf8f3;
  --surface:#fffdf9;
  --line:#e7dccb;
  --navy:#1f2f4d;
  --navy-soft:#30456d;
  --gold:#c89b4e;
  --gold-soft:#e7c68a;
  --text:#223049;
  --muted:#6f7685;
  --shadow:0 18px 45px rgba(31,47,77,.08);
  --radius:24px;
  --container:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Inter",sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at top right, rgba(200,155,78,.10), transparent 22%),
    linear-gradient(180deg, #f8f4ee 0%, #f3eee6 100%);
  line-height:1.65;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(calc(100% - 40px), var(--container));margin:0 auto}
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(250,247,242,.9);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(31,47,77,.08);
}
.nav{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:14px}
.brand-logo{
  width:150px;
  max-width:40vw;
  height:auto;
  display:block;
}
.brand-copy{display:flex;flex-direction:column;line-height:1.2}
.brand-copy strong{font-size:1rem}
.brand-copy small{font-size:.82rem;color:var(--muted)}
.menu{display:flex;align-items:center;gap:22px;font-weight:600;color:var(--navy-soft)}
.menu a:hover{color:var(--gold)}
.menu .cta-link{
  padding:12px 18px;border:1px solid var(--gold-soft);
  border-radius:999px;color:var(--navy);background:#fff9ef;
}
.hero,.page-hero{padding:72px 0 48px}
.hero-grid,.page-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center}
.eyebrow,.section-label{
  text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;
  font-weight:700;color:var(--gold);margin:0 0 16px;
}
h1,h2,h3{font-family:"Cormorant Garamond",serif;letter-spacing:-.02em}
h1{font-size:clamp(2.9rem,6vw,5.5rem);line-height:1.02;margin:0 0 18px;color:var(--navy)}
h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1.05;margin:0 0 14px;color:var(--navy)}
.hero-text,.lead,.card p,.copy p,.footer-copy p,.contact-details span,.legal p,.form-note{
  color:var(--muted)
}
.hero-media,.page-media,.card,.info-box,.form-card,.legal-card,.contact-card{
  background:var(--surface);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);
}
.hero-media,.page-media{overflow:hidden}
.hero-media img,.page-media img{width:100%;height:100%;min-height:420px;object-fit:cover}
.hero-copy .actions,.page-actions,.footer-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:999px;padding:15px 24px;font-weight:700
}
.btn-primary{background:linear-gradient(180deg, #d8ae68, #bd8f43);color:#fff}
.btn-secondary{border:1px solid var(--gold-soft);color:var(--navy);background:#fffaf1}
.section{padding:72px 0}
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{padding:24px}
.card .num{font-family:"Cormorant Garamond",serif;font-size:1.7rem;color:var(--gold)}
.band{padding:28px 0}
.band-box{background:#fffaf3;border:1px solid var(--line);padding:22px 24px;border-radius:24px}
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.info-box{padding:22px}
.page-hero{padding-bottom:22px}
.page-body{padding:24px 0 72px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}
.form-card{padding:28px}
.form-section-title{
  font-size:1.8rem;color:var(--navy);margin:0 0 16px;padding-bottom:10px;border-bottom:1px solid var(--line)
}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:22px}
.form-grid label,.contact-form label{display:block;font-weight:600;color:var(--navy-soft)}
.form-grid label.full{grid-column:1/-1}
input,select,textarea{
  width:100%;margin-top:8px;padding:14px 15px;
  border:1px solid #d9dfe8;border-radius:16px;background:#fff;color:var(--text);font:inherit
}
input::file-selector-button{
  margin-right:12px;padding:10px 14px;border:none;border-radius:999px;
  background:#f0d4a1;color:#4a3417;font-weight:700;cursor:pointer
}
.price-box,.payment-box{
  background:#fffaf2;border:1px solid var(--line);border-radius:22px;padding:20px
}
.price-line{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.price-line:last-child{border-bottom:none}
.payment-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:22px 0}
.payment-note{font-size:.94rem;color:var(--muted)}
.check-row{display:grid;gap:12px;margin:18px 0 12px}
.checkbox{display:flex !important;gap:10px;align-items:flex-start;color:var(--muted) !important;font-weight:500 !important}
.checkbox input{width:auto;margin-top:4px}
.form-message{display:none;padding:14px 16px;border-radius:16px;margin-bottom:16px;font-weight:600}
.form-message.error{display:block;background:#ffe5e5;color:#a63c3c;border:1px solid #f2bcbc}
.form-message.success{display:block;background:#e7f8ea;color:#2f7a45;border:1px solid #b9e0c1}
.gallery-2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.image-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}
.image-card img{width:100%;height:320px;object-fit:cover}
.image-card .caption{padding:18px}
.contact-wrap{display:grid;grid-template-columns:1fr .95fr;gap:26px;align-items:start}
.contact-card,.legal-card{padding:28px}
.contact-details{display:grid;gap:14px;margin-top:20px}
.contact-details div{display:grid;gap:3px}
.contact-details strong{color:var(--navy);font-size:.9rem;text-transform:uppercase;letter-spacing:.1em}
.site-footer{padding:28px 0 42px;border-top:1px solid rgba(31,47,77,.08);background:rgba(255,255,255,.45)}
.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:20px}
.footer-links{display:flex;flex-wrap:wrap;gap:18px;color:var(--muted)}
.legal main{padding:52px 0}
.legal-card h1{font-size:clamp(2.5rem,5vw,4rem)}
.legal-card h2{font-size:1.9rem;margin-top:28px}
@media (max-width: 980px){
  .hero-grid,.page-grid,.split,.contact-wrap,.cards-3,.info-grid,.gallery-2,.payment-grid{grid-template-columns:1fr}
}
@media (max-width: 760px){
  .nav,.menu,.footer-grid{flex-direction:column;align-items:flex-start}
  .form-grid{grid-template-columns:1fr}
}


@media (max-width: 760px){
  .brand-logo{
    width:120px;
  }
}


.gallery-2{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.image-card{
  background:#fffdf9;
  border:1px solid #e7dccb;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 18px 45px rgba(31,47,77,.08);
}
.image-card img{
  width:100%;
  height:240px;
  object-fit:cover;
}
.image-card .caption{
  padding:18px;
}
.image-card .caption h3{
  margin:0 0 8px;
  font-size:1.6rem;
  color:#1f2f4d;
}
.image-card .caption p{
  margin:0;
  color:#6f7685;
}
@media (max-width: 980px){
  .gallery-2{
    grid-template-columns:repeat(2,1fr);
  }
}
@media (max-width: 760px){
  .gallery-2{
    grid-template-columns:1fr;
  }
}
