:root{
    --soil:#1B1510; --soil-raised:#221E18; --soil-2:#2A251D; --line:#332D24;
    --bone:#F0EADF; --bone-dim:#AAA192; --bone-faint:#736B5E;
    --tan:#C69256; --tan-soft:#E0BB83; --tan-deep:#8B6536;
    --warm:rgba(198,146,86,0.10);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--soil);color:var(--bone);font-family:Georgia,serif;line-height:1.66;
    -webkit-font-smoothing:antialiased;overflow-x:hidden;font-size:17px}
.wrap{max-width:980px;margin:0 auto;padding:0 28px}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
    background:radial-gradient(1100px 560px at 72% -8%,rgba(198,146,86,0.05),transparent 60%),
    radial-gradient(820px 480px at 8% 108%,rgba(198,146,86,0.04),transparent 60%)}

.eyebrow{font-family:'Courier New',monospace;font-size:11px;letter-spacing:.22em;
    text-transform:uppercase;color:var(--bone-faint);margin-bottom:14px}

/* ---------- masthead / invitation ---------- */
header.top{padding:84px 0 10px}
h1{font-family:'Times New Roman',serif;font-weight:700;font-size:clamp(36px,6.5vw,60px);line-height:1.05;margin-bottom:8px}
.mode{font-family:'Courier New',monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;
    color:var(--tan);margin-bottom:22px}
.tagline{font-size:clamp(19px,2.8vw,24px);font-style:italic;color:var(--bone);max-width:24ch}

.invitation{padding:30px 0 8px}
.invitation p{max-width:64ch;margin-bottom:18px;font-size:16.5px;color:var(--bone)}
.invitation p.lead{font-size:clamp(17px,2.3vw,20px)}
.invitation .em{color:var(--tan-soft);font-style:italic}

/* who gathers — voices */
.voices{display:flex;flex-wrap:wrap;gap:9px;margin:26px 0 6px}
.voice{font-family:'Courier New',monospace;font-size:11px;letter-spacing:.05em;color:var(--bone-dim);
    border:1px solid var(--line);border-radius:999px;padding:7px 15px}

/* tie to heap + fund */
.ties{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:34px}
@media(max-width:680px){.ties{grid-template-columns:1fr}}
.tie{background:var(--soil-raised);border:1px solid var(--line);border-radius:8px;padding:22px 22px;
    border-left:3px solid var(--tan-deep);transition:border-color .25s ease,background .25s ease}
.tie:hover{border-color:var(--tan-deep);background:var(--soil-2);border-left-color:var(--tan)}
.tie .k{font-family:'Courier New',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;
    color:var(--tan);margin-bottom:10px}
.tie p{font-size:14px;color:var(--bone-dim);margin:0}
.tie a{color:var(--tan);text-decoration:none}
.tie a:hover{color:var(--tan-soft)}

/* ---------- buttons row ---------- */
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.cta{font-family:'Times New Roman',serif;font-weight:700;font-size:16px;border-radius:6px;padding:12px 22px;
    cursor:pointer;text-decoration:none;transition:all .2s ease;border:1px solid var(--tan-deep)}
.cta.solid{background:var(--tan);color:var(--soil);border-color:var(--tan)}
.cta.solid:hover{background:var(--tan-soft)}
.cta.ghost{background:transparent;color:var(--tan)}
.cta.ghost:hover{background:var(--warm);border-color:var(--tan)}

/* ---------- upcoming gatherings ---------- */
section{padding:46px 0}
.section-rule{border-top:1px solid var(--line)}
h2{font-family:'Times New Roman',serif;font-weight:700;font-size:clamp(24px,4vw,34px);margin-bottom:8px}
.section-sub{color:var(--bone-dim);margin-bottom:28px;max-width:62ch}

.events{display:flex;flex-direction:column;gap:16px}
.event{display:grid;grid-template-columns:96px 1fr auto;gap:22px;align-items:center;
    background:var(--soil-raised);border:1px solid var(--line);border-radius:8px;padding:20px 24px;
    transition:border-color .25s ease,background .25s ease}
.event:hover{border-color:var(--tan-deep);background:var(--soil-2)}
@media(max-width:640px){.event{grid-template-columns:1fr;gap:12px}}
.event .date{text-align:center}
@media(max-width:640px){.event .date{text-align:left}}
.event .date .mo{font-family:'Courier New',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--tan)}
.event .date .yr{font-family:'Courier New',monospace;font-size:11px;letter-spacing:.10em;color:var(--bone-faint);margin-top:3px}
.season--open{opacity:.9;border-style:dashed}
.season--open .date .day,.season--open h3{color:var(--bone-dim)}
.season--now{border-left:2px solid var(--tan-deep)}
.ties--one{grid-template-columns:1fr}
.tie--ticket{margin-top:30px}
.event .date .day{font-family:'Times New Roman',serif;font-weight:700;font-size:34px;line-height:1;color:var(--bone)}
.event .body .kind{font-family:'Courier New',monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;
    color:var(--bone-faint);margin-bottom:6px}
.event .body .kind .here{color:var(--tan)}
.event .body h3{font-family:'Times New Roman',serif;font-weight:700;font-size:20px;margin-bottom:5px;line-height:1.25}
.event .body .who{font-style:italic;color:var(--bone);font-size:14.5px;margin-bottom:6px}
.event .body p{font-size:14px;color:var(--bone-dim);margin-bottom:6px;max-width:56ch}
.event .body .where{font-family:'Courier New',monospace;font-size:11px;color:var(--bone-faint);letter-spacing:.03em}
.rsvp-btn{display:inline-block;background:var(--tan);color:var(--soil);border:none;border-radius:6px;
    padding:11px 20px;font-family:'Times New Roman',serif;font-weight:700;font-size:15px;cursor:pointer;text-decoration:none;
    transition:background .2s ease;white-space:nowrap}
.rsvp-btn:hover{background:var(--tan-soft)}
@media(max-width:640px){.rsvp-btn{width:100%;text-align:center}}
.empty-note{font-size:13px;color:var(--bone-faint);font-style:italic;margin-top:18px}
.empty-note a{color:var(--tan);text-decoration:none}

/* ---------- possibilities ---------- */
.possibilities-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:8px}
@media(max-width:680px){.possibilities-list{grid-template-columns:1fr}}
.past{background:var(--soil-raised);border:1px solid var(--line);border-radius:7px;padding:18px 20px;
    transition:border-color .25s ease,background .25s ease;cursor:pointer}
.past:hover{border-color:var(--tan-deep);background:var(--soil-2)}
.past .when{font-family:'Courier New',monospace;font-size:10px;letter-spacing:.08em;color:var(--bone-faint);margin-bottom:6px}
.past h4{font-family:'Times New Roman',serif;font-weight:700;font-size:16px;margin-bottom:4px;line-height:1.25}
.past .who{font-style:italic;color:var(--bone-dim);font-size:13px;margin-bottom:8px}
.past .rec{font-family:'Courier New',monospace;font-size:10px;letter-spacing:.05em;color:var(--tan)}

/* ---------- propose / host ---------- */
.host{margin-top:8px;border:1px solid var(--line);border-left:3px solid var(--tan);border-radius:8px;
    background:var(--soil-raised);padding:32px 30px}
.host .label{font-family:'Courier New',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;
    color:var(--tan);margin-bottom:14px}
.host h2{font-size:clamp(22px,3.4vw,28px);margin-bottom:14px}
.host p{max-width:62ch;color:var(--bone-dim);margin-bottom:16px;font-size:15.5px}
.host p .em{color:var(--tan-soft);font-style:italic}
.host-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.propose{margin-top:18px;max-height:0;opacity:0;overflow:hidden;transition:max-height .5s ease,opacity .4s ease}
.propose.open{max-height:900px;opacity:1}
.propose-inner{padding-top:20px;border-top:1px solid var(--line);margin-top:20px}
.propose label{display:block;font-family:'Courier New',monospace;font-size:10px;letter-spacing:.1em;
    text-transform:uppercase;color:var(--tan);margin:14px 0 7px}
.propose input,.propose textarea,.propose select{width:100%;background:var(--soil);border:1px solid var(--line);
    border-radius:5px;padding:11px 13px;color:var(--bone);font-family:Georgia,serif;font-size:15px;outline:none;
    transition:border-color .2s ease}
.propose input:focus,.propose textarea:focus,.propose select:focus{border-color:var(--tan)}
.propose textarea{min-height:90px;resize:vertical;line-height:1.5}
.propose .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:560px){.propose .row{grid-template-columns:1fr}}
.propose .send{margin-top:20px;background:var(--tan);color:var(--soil);border:none;border-radius:6px;
    padding:13px 26px;font-family:'Times New Roman',serif;font-weight:700;font-size:16px;cursor:pointer;
    transition:background .2s ease}
.propose .send:hover{background:var(--tan-soft)}
.propose .note{font-size:12px;color:var(--bone-faint);font-style:italic;margin-top:14px;line-height:1.6}

footer{border-top:1px solid var(--line);padding:34px 0 80px;color:var(--bone-faint);
    font-family:'Courier New',monospace;font-size:11px;letter-spacing:.05em;line-height:2;margin-top:40px}

@media(prefers-reduced-motion:reduce){*{transition:none !important;scroll-behavior:auto}}

/* ---- shared site nav ---- */
.site-nav{position:fixed;top:18px;right:18px;z-index:60;display:flex;gap:8px}
.site-nav a,.site-nav button{width:auto;height:42px;border-radius:8px;background:rgba(34,30,24,0.72);
    backdrop-filter:blur(6px);border:1px solid var(--line);cursor:pointer;color:var(--bone-dim);
    display:flex;align-items:center;justify-content:center;transition:all .22s ease;
    font-family:'Courier New',monospace;font-size:12px;letter-spacing:.08em;text-decoration:none;padding:0 14px}
.site-nav .ico{width:42px;padding:0}
.site-nav a:hover,.site-nav button:hover{border-color:var(--tan-deep);color:var(--tan);background:var(--soil-2)}
.site-nav svg{width:20px;height:20px}
.nav-overlay{position:fixed;inset:0;z-index:64;background:rgba(10,9,7,0.55);opacity:0;visibility:hidden;
    transition:opacity .35s ease,visibility .35s ease}
.nav-overlay.show{opacity:1;visibility:visible}
.nav-drawer{position:fixed;top:0;right:0;z-index:66;height:100%;width:360px;max-width:90vw;
    background:#1F1B15;border-left:1px solid var(--line);padding:80px 0 40px;transform:translateX(102%);
    transition:transform .42s cubic-bezier(.22,.61,.36,1);overflow-y:auto;box-shadow:-20px 0 50px rgba(0,0,0,.4)}
.nav-drawer.open{transform:translateX(0)}
.nav-drawer .nd-close{position:absolute;top:22px;right:22px;background:none;border:none;color:var(--bone-faint);
    cursor:pointer;font-family:'Courier New',monospace;font-size:18px}
.nav-drawer .nd-close:hover{color:var(--tan)}
.nav-drawer .nd-eyebrow{font-family:'Courier New',monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;
    color:var(--bone-faint);padding:0 32px;margin-bottom:14px}
.nav-drawer a{display:block;text-decoration:none;color:var(--bone);padding:13px 32px;
    font-family:'Times New Roman',serif;font-size:21px;border-left:2px solid transparent;transition:all .2s ease}
.nav-drawer a:hover{background:var(--soil-2);border-left-color:var(--tan);color:var(--tan-soft);padding-left:38px}
.nav-drawer a .sub{display:block;font-family:'Courier New',monospace;font-size:10px;letter-spacing:.06em;
    color:var(--bone-faint);margin-top:3px;text-transform:lowercase}
.nav-drawer a.current{border-left-color:var(--tan-deep);color:var(--tan)}


/* nested menu groups */
.nd-group{display:flex;flex-direction:column}
.nd-parent{background:none;border:none;cursor:pointer;text-align:left;width:100%;
    color:var(--bone);font-family:'Times New Roman',serif;font-size:21px;padding:13px 32px;
    border-left:2px solid transparent;transition:all .2s ease;display:flex;align-items:center;justify-content:space-between}
.nd-parent:hover{background:var(--soil-2);border-left-color:var(--tan);color:var(--tan-soft);padding-left:38px}
.nd-caret{font-size:13px;color:var(--tan-deep);transition:transform .25s ease}
.nd-parent[aria-expanded="true"] .nd-caret{transform:rotate(90deg);color:var(--tan)}
.nd-children{max-height:0;overflow:hidden;transition:max-height .35s ease}
.nd-children.open{max-height:240px}
.nd-children a{font-size:17px;padding:11px 32px 11px 44px;color:var(--bone-dim)}
.nd-children a:hover{color:var(--tan-soft);padding-left:50px}
.nd-children a.current{color:var(--tan);border-left-color:var(--tan-deep)}


/* page emblem: the page's menu-specimen, floating quietly in the right margin */
.page-emblem{position:fixed;right:1.6vw;top:50%;transform:translateY(-50%);
    width:min(22vw,330px);z-index:0;opacity:.9;pointer-events:none;
    filter:drop-shadow(0 12px 30px rgba(0,0,0,.5));
    animation:emblemFloat 9s ease-in-out infinite}
@keyframes emblemFloat{0%,100%{transform:translateY(-50%)}50%{transform:translateY(calc(-50% - 12px))}}
@media(max-width:1180px){.page-emblem{width:min(20vw,215px);opacity:.5;right:.4vw}
    @media(max-width:980px){.page-emblem{display:none}}}
/* intra-acting emblem: the specimen and a torn snippet of Krista's work,
   overlapping and drifting into one another — two beings mutually composing */
.emblem-pair{position:fixed;right:1.2vw;top:50%;transform:translateY(-50%);
    width:min(24vw,360px);height:min(38vh,420px);z-index:0;pointer-events:none}
@media(max-width:1180px){.emblem-pair{display:none}}
.emblem-pair img{position:absolute;filter:drop-shadow(0 12px 30px rgba(0,0,0,.5))}
.emblem-pair .ep-wc{right:2%;bottom:6%;width:74%;opacity:.82;transform:rotate(-4deg);
    animation:epDriftA 11s ease-in-out infinite;mix-blend-mode:screen}
.emblem-pair .ep-spec{left:0;top:2%;width:70%;opacity:.94;
    animation:epDriftB 11s ease-in-out infinite}
@keyframes epDriftA{0%,100%{transform:rotate(-4deg) translate(0,0)}50%{transform:rotate(-4deg) translate(-10px,-12px)}}
@keyframes epDriftB{0%,100%{transform:translate(0,0)}50%{transform:translate(8px,10px)}}
@media(prefers-reduced-motion:reduce){.emblem-pair .ep-wc,.emblem-pair .ep-spec{animation:none}}

.join-form{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap;max-width:520px}
.join-form input{flex:1;min-width:210px;background:var(--soil-raised);border:1px solid var(--line);
    border-radius:8px;padding:12px 16px;color:var(--bone);font-family:Georgia,serif;font-size:15px}
.join-form input:focus{outline:2px solid var(--tan);outline-offset:1px}
.join-note{margin-top:14px;font-size:13px;color:var(--bone-faint);max-width:60ch;line-height:1.6}
.join-note a{color:var(--tan);text-decoration:none;border-bottom:1px solid var(--tan-deep)}
.join-thanks{margin-top:22px;color:var(--tan-soft);font-family:'Courier New',monospace;font-size:14px;letter-spacing:.04em}

/* ---------- the practical shape ---------- */
.shape{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:2px;
    background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-top:8px}
.shape div{background:var(--soil-raised);padding:18px 20px}
.shape dt{font-family:'Courier New',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;
    color:var(--tan);margin-bottom:7px}
.shape dd{margin:0;font-size:14.5px;color:var(--bone);line-height:1.5}
.shape dd .soft{display:block;font-size:12.5px;color:var(--bone-faint);margin-top:4px;font-style:italic}
.voice-note{margin-top:22px;border:1px solid var(--line);border-left:3px solid var(--tan);border-radius:8px;
    background:var(--soil-raised);padding:26px 28px;max-width:70ch}
.voice-note .label{font-family:'Courier New',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;
    color:var(--tan);margin-bottom:12px}
.voice-note p{font-size:14.5px;color:var(--bone-dim);line-height:1.66;margin-bottom:10px}
.voice-note p:last-child{margin-bottom:0}
.voice-note b{color:var(--bone);font-weight:400}
.voice-note a{color:var(--tan);text-decoration:none;border-bottom:1px solid var(--tan-deep)}
