:root{--paper:#f6efe3;--ink:#1c2a44;--ink-soft:#3d4a63;--plum:#6b3f5c;--gold:#a8864a;--rule:#d9cbb2}
*{box-sizing:border-box}
html{font-size:18px}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--paper);color:var(--ink);font-family:"Source Serif 4",Georgia,serif;line-height:1.75}
main{flex:1;display:flex;align-items:center;justify-content:center;padding:6rem 1.5rem 4rem}
.card{max-width:600px;text-align:center}
h1{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:clamp(3rem,9vw,5rem);line-height:1.05;margin:0;letter-spacing:.02em}
.subtitle{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:clamp(1.3rem,3.5vw,1.6rem);color:var(--plum);margin:1rem 0 0}
.ornament{color:var(--gold);letter-spacing:1em;margin:3rem 0 3rem 1em;font-size:.9rem}
p{margin:0 0 1.4rem}
.card p:not(.subtitle){color:var(--ink-soft)}
footer{border-top:1px solid var(--rule);padding:1.8rem 0;font-size:.8rem;color:var(--ink-soft);text-align:center;letter-spacing:.05em}
@media(max-width:600px){html{font-size:17px}main{padding:4rem 1.5rem 3rem}.ornament{margin:2.2rem 0 2.2rem 1em}}
.topnav{position:absolute;top:0;left:0;right:0;text-align:center;padding:1.6rem 0}
.topnav a{font-family:"Cormorant Garamond",serif;font-size:1.05rem;letter-spacing:.12em;color:var(--ink-soft);text-decoration:none;margin:0 .9rem}
.topnav a:hover,.topnav a[aria-current]{color:var(--plum);border-bottom:1px solid var(--gold)}
.photo{margin:0 auto 3rem;max-width:560px}
.photo img{display:block;width:100%;height:auto;border-radius:6px;box-shadow:0 1px 2px rgba(28,42,68,.08),0 12px 32px -12px rgba(28,42,68,.25)}
body.page main{align-items:flex-start}
.prose{max-width:680px;text-align:left}
.prose h1{text-align:center;font-style:italic;font-size:clamp(2.6rem,7vw,3.6rem);margin-bottom:.5rem}
.prose .ornament{text-align:center}
h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;line-height:1.15;color:var(--ink)}
.prose h2{font-size:1.9rem;margin:3rem 0 1rem}
.prose h3{font-size:1.4rem;margin:0 0 .3rem}
.prose p{color:var(--ink-soft)}
.list{list-style:none;padding:0;margin:0}
.list li{padding:1.6rem 0 .4rem;border-top:1px solid var(--rule)}
.list li:last-child{border-bottom:1px solid var(--rule)}
.list p{margin:.5rem 0 1rem}
.form{max-width:520px;margin:0 auto;text-align:left}
.hidden{position:absolute;left:-9999px}
.form label{display:block;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin:1.4rem 0 .4rem}
.form input,.form textarea{width:100%;font:inherit;color:var(--ink);background:#fbf7ef;border:1px solid var(--rule);border-radius:3px;padding:.7rem .9rem}
.form input:focus,.form textarea:focus{outline:2px solid var(--gold);outline-offset:1px}
.form button{margin-top:1.8rem;font-family:"Cormorant Garamond",serif;font-size:1.2rem;letter-spacing:.06em;background:var(--ink);color:var(--paper);border:0;border-radius:3px;padding:.6rem 2rem;cursor:pointer}
.form button:hover{background:var(--plum)}
.card a.back{color:var(--plum);text-decoration-color:var(--gold);text-underline-offset:3px}
