:root{--g:#0F2A21;--g2:#1A3B2F;--gold:#B8975A;--gl:#D9BE86;--iv:#F6F1E7;--sage:#8FA593;--ink:#1D2A24}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--iv);color:var(--ink);font:300 1.0625rem/1.75 Jost,system-ui,sans-serif}
h1,h2,h3,.brand span{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;line-height:1.1;color:var(--g)}
h1{font-size:clamp(2.6rem,6vw,4.6rem);margin:.2em 0 .4em}h2{font-size:clamp(1.9rem,3.5vw,2.8rem)}h3{font-size:1.6rem;margin:.2em 0}
a{color:var(--g)}img{max-width:100%;height:auto;display:block}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:9}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.wrap{max-width:1080px;margin:0 auto;padding:4rem 1.5rem}
.top{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:1rem 1.5rem;background:var(--g);color:var(--iv);position:sticky;top:0;z-index:5}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--gl)}.brand span{color:var(--iv);font-size:1.6rem;letter-spacing:.04em}
.top nav a{color:var(--iv);text-decoration:none;margin-left:1.4rem;font-size:.95rem;letter-spacing:.06em;padding:.3rem 0;border-bottom:1px solid transparent;transition:border-color .3s}
.top nav a:hover{border-color:var(--gold)}
.mark{width:40px;height:40px;color:var(--gl)}.mark.big{width:96px;height:96px}
.hero{background:radial-gradient(120% 90% at 20% 0,var(--g2),var(--g));color:var(--iv)}
.hero h1{color:var(--iv)}.hgrid{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}
.lead{font-size:1.25rem;max-width:34em}.hero .lead{color:#e7e1d2}
.frame{margin:0;position:relative}.frame::before{content:"";position:absolute;inset:14px -14px -14px 14px;border:1px solid var(--gold)}
.frame img{position:relative;aspect-ratio:9/10;object-fit:cover;width:100%}
.btn{display:inline-block;padding:.8rem 1.8rem;background:var(--gold);color:var(--g);text-decoration:none;font-weight:500;letter-spacing:.05em;margin:.3rem .4rem .3rem 0;transition:background .3s}
.btn:hover{background:var(--gl)}.btn.ghost{background:none;color:inherit;border:1px solid var(--gold)}.btn.ghost:hover{background:rgba(184,151,90,.18)}
.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:3.5rem;align-items:center}.split img{aspect-ratio:9/10;object-fit:cover;width:100%;box-shadow:0 20px 40px rgba(15,42,33,.2)}
.band{background:var(--g);color:var(--iv);text-align:center}.band .wrap{padding:4.5rem 1.5rem}.band h2{color:var(--gl)}.band .lead{margin:1rem auto}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-top:1.5rem}
.card{display:block;padding:1.6rem;background:#fff;border-top:3px solid var(--gold);text-decoration:none;color:inherit;transition:transform .3s,box-shadow .3s}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(15,42,33,.12)}time{font-size:.85rem;color:var(--sage);letter-spacing:.08em}
.prose{max-width:760px}.prose .inline{float:right;width:min(300px,42%);margin:.5rem 0 1rem 2rem;aspect-ratio:9/10;object-fit:cover;border:1px solid var(--gold);padding:6px;background:#fff}
.links{list-style:none;padding:0}.links a{display:flex;flex-direction:column;padding:1.1rem 1.4rem;margin-bottom:.8rem;background:#fff;border-left:3px solid var(--gold);text-decoration:none}.links span{color:var(--sage)}
footer{background:var(--g);color:#d8d2c2;font-size:.95rem}footer .mark{margin-bottom:.5rem}.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding:3rem 1.5rem}
footer nav a{display:block;color:var(--iv);text-decoration:none;padding:.15rem 0}.small{grid-column:1/-1;opacity:.7;border-top:1px solid #2c4a3d;padding-top:1rem}
.ring{stroke-dasharray:190;stroke-dashoffset:190;animation:draw 2.4s .2s ease forwards}
.htext h1,.htext .lead,.htext p{animation:rise 1.2s 1.2s both}.frame{animation:rise 1.4s .6s both}
@keyframes draw{to{stroke-dashoffset:0}}@keyframes rise{from{opacity:0;transform:translateY(14px)}}
@media(max-width:800px){.hgrid,.split{grid-template-columns:1fr}.top nav a{margin:0 1rem 0 0}.fgrid{grid-template-columns:1fr}.prose .inline{float:none;width:100%;margin:0 0 1.5rem}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.ring{stroke-dashoffset:0}}
form.adm{display:grid;gap:1rem}form.adm input,form.adm textarea{padding:.8rem;font:inherit;border:1px solid var(--sage);background:#fff;width:100%}
