:root{--g:#1e3a32;--g2:#1f4a40;--rose:#d4a088;--bg:#faf8f5;--ink:#1d2623;--muted:#4a5753;--rule:#c9b8ab}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;padding-top:34px;font-family:"Source Sans 3",Helvetica,Arial,sans-serif;font-size:1.0625rem;line-height:1.65;color:var(--ink);background:var(--bg)}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif;color:var(--g);line-height:1.2;font-weight:600}
a{color:var(--g2)}
.banner{position:fixed;top:0;left:0;right:0;z-index:10000;height:34px;display:flex;align-items:center;justify-content:center;padding:0 8px;background:#111;color:#f1f1f1;font:600 12px/1.2 Helvetica,Arial,sans-serif;text-align:center;letter-spacing:.02em}
.wm{position:fixed;inset:0;z-index:9000;pointer-events:none;overflow:hidden;display:flex;flex-direction:column;justify-content:space-around;align-items:center}
.wm span{font:900 clamp(60px,14vw,170px)/1 Helvetica,Arial,sans-serif;color:#808080;opacity:.06;transform:rotate(-30deg);letter-spacing:.08em;user-select:none}
.topbar{background:var(--g);color:#fff;text-align:center;padding:.4rem 1rem;font-size:.95rem}
.topbar a{color:#fff;font-weight:700;text-decoration:none;border-bottom:1px solid var(--rose)}
header.site{text-align:center;padding:1.4rem 1rem 0;background:#fff;border-bottom:3px double var(--rose)}
.logo{display:inline-block;text-decoration:none;color:var(--g)}
.crest{display:block;margin:0 auto .2rem}
.logo b{display:block;font:600 clamp(1.6rem,5vw,2.4rem)/1.1 "Cormorant Garamond",Georgia,serif;letter-spacing:.18em}
.logo small{display:block;letter-spacing:.3em;font-size:.75rem;text-transform:uppercase;color:var(--muted)}
nav ul{list-style:none;margin:1rem 0 0;padding:0;display:flex;justify-content:center;flex-wrap:wrap;gap:0 .5rem;border-top:1px solid var(--rule)}
nav a{display:block;padding:.8rem 1.4rem;text-decoration:none;color:var(--g);font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:.9rem;border-bottom:3px solid transparent}
nav a:hover,nav a[aria-current]{border-bottom-color:var(--rose)}
.hero{background:linear-gradient(135deg,var(--g) 0%,var(--g2) 100%);color:#fff;text-align:center;padding:5rem 1.2rem;position:relative}
.hero::before,.hero::after{content:"";position:absolute;left:1rem;right:1rem;height:1px;background:var(--rose);opacity:.7}
.hero::before{top:1rem}.hero::after{bottom:1rem}
.hero h1{color:#fff;font-size:clamp(2rem,6vw,3.4rem);max-width:20ch;margin:0 auto .8rem}
.hero p{max-width:46ch;margin:0 auto 1.6rem;font-size:1.15rem}
.hero.small{padding:3rem 1.2rem}
.btn{display:inline-block;background:var(--rose);color:#1a1a1a;padding:.8rem 1.8rem;text-decoration:none;font-weight:700;letter-spacing:.06em;border:1px solid var(--rose);cursor:pointer;font-size:1rem;font-family:inherit}
.btn:hover{background:#fff}
main{max-width:1060px;margin:0 auto;padding:3rem 1.2rem}
.rule{border:0;height:5px;border-top:1px solid var(--rose);border-bottom:1px solid var(--rose);margin:2.5rem auto;width:120px}
.center{text-align:center}
.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:2rem}
.col{padding:0 1.6rem;border-left:1px solid var(--rule)}
.col:first-child{border-left:0}
.col h3{font-size:1.5rem;margin-top:0;text-align:center}
.ph{background:#f1e4dc;padding:0 .3em;color:#5a2f1c;font-weight:600}
section.svc{padding:1.6rem 0;border-top:1px solid var(--rule)}
form{max-width:620px;margin:1.5rem auto 0;border-top:3px double var(--rose);padding-top:1.4rem}
label{display:block;font-weight:600;margin-top:1rem}
input,textarea{width:100%;padding:.7rem;font:inherit;border:1px solid #6b7a75;background:#fff;color:var(--ink)}
input:focus,textarea:focus,.btn:focus,a:focus{outline:3px solid var(--g2);outline-offset:2px}
.err{color:#9b1c1c;font-size:.92rem;min-height:1.2em;margin:.2rem 0 0}
.ok{background:#e6f0ec;border:1px solid var(--g2);padding:1rem;margin-top:1rem}
footer{background:var(--g);color:#eef2f0;text-align:center;padding:2rem 1rem;border-top:3px double var(--rose)}
footer a{color:#fff}
footer p{margin:.3rem 0}
.proposal{font-size:.9rem;margin-top:1rem!important}
@media(max-width:760px){.cols{grid-template-columns:1fr}.col{border-left:0;border-top:1px solid var(--rule);padding:1.4rem 0}.col:first-child{border-top:0}nav a{padding:.7rem .8rem}.hero{padding:3.5rem 1rem}}
