:root{
  --purple:#4B244A;--lav:#C8B8D7;--gold:#D4AF37;--gold-dk:#B38C2C;--paper:#F6F0EA;--navy:#1A2D50;--ink:#0F0F0F;
  --muted:#555;--radius:12px;--maxw:1080px;--shadow:0 10px 30px rgba(0,0,0,.12);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif;scroll-behavior:smooth}
img,svg{display:block;max-width:100%}
/* Links */
a{color:var(--lav);text-decoration:none;transition:color .25s ease}
a:hover{color:var(--purple)}

/* Navbar - classy font */
.nav{position:sticky;top:0;z-index:50;background:var(--purple);border-bottom:1px solid rgba(0,0,0,.06);font-family:'Cormorant Garamond',serif}
.nav__inner{max-width:var(--maxw);margin:auto;display:flex;align-items:center;gap:18px;padding:14px 22px}
.brand{font-weight:700;letter-spacing:.3px;color:var(--paper);font-size:20px}
.links{margin-left:auto;margin-right:8px;display:none;gap:22px}
.links a{color:var(--paper);font-weight:600;font-size:18px}
.links a:hover{color:var(--gold)}
@media(min-width:860px){.links{display:flex}}

/* Hero */
.hero{min-height:80vh;display:grid;place-items:center;text-align:center;padding:90px 18px}
.hero__inner{max-width:760px;margin:auto}
.hero__title{font-family:'Playfair Display',serif;font-weight:700;font-size:clamp(42px,7vw,68px);margin:12px 0 8px;color:var(--navy)}
.hero__title .accent{background:linear-gradient(90deg,var(--gold),var(--lav));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero__subtitle{font-size:clamp(20px,3.5vw,28px);color:var(--navy);opacity:.85;margin:0 0 10px}
.hero__lead{color:var(--muted);max-width:720px;margin:0 auto 22px;line-height:1.6}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:8px;background:var(--gold);color:#0F0F0F;font-weight:800;border:2px solid var(--gold);transition:all .2s ease}
.btn:hover{background:var(--gold-dk);border-color:var(--gold-dk);color:var(--paper)}
.btn--icon svg{display:inline-block}
.btn--ghost{background:transparent;color:var(--purple);border-color:var(--purple)}
.btn--ghost:hover{color:var(--paper);background:var(--purple)}

/* Sections */
.section{padding:72px 22px}
.section.alt{background:rgba(200,184,215,.12)}
.content{max-width:var(--maxw);margin:auto}
h2{font-family:'Playfair Display',serif;font-size:clamp(28px,3.6vw,40px);color:var(--navy);margin:0 0 12px}

/* Cards */
.grid{margin-top:20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.card{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:16px;padding:18px;box-shadow:var(--shadow)}
.card h3{margin:6px 0 10px;color:var(--navy)}
.card p{color:#333}

/* Contact icons row */
.contact-social{display:flex;gap:16px;margin-top:18px}
.contact-social .ico{color:var(--purple);opacity:.9;transition:color .25s ease,opacity .25s}
.contact-social .ico:hover{opacity:1;color:var(--gold)}

/* Footer */
.footer{border-top:1px solid rgba(0,0,0,.08);padding:28px 18px;text-align:center;color:#333;background:transparent}
.small{font-size:14px}
