:root{--parchment:#f4ead2;--parchment2:#ecdcb4;--ivory:#fbf6e9;--ink:#241a12;--ink2:#43331f;--muted:#7a6749;--gold:#c2a14d;--gold-l:#e4c77f;--gold-d:#8a6d2a;--wine:#6e1a1a;--wine-l:#8b2a2a;--forest:#2c4a36;--line:#d8c39a;--line2:#c9b07a;--dark:#1a120b;--dark2:#241a10;--maxw:1180px;--display:"Cinzel",Georgia,serif;--serif:"EB Garamond",Georgia,serif;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{font-family:var(--serif);color:var(--ink);background:var(--parchment);line-height:1.7;font-size:18px;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(120% 80% at 10% 0%,rgba(120,90,40,.10),transparent 60%),radial-gradient(120% 80% at 100% 100%,rgba(90,40,20,.10),transparent 60%),repeating-linear-gradient(45deg,rgba(120,90,40,.012) 0 2px,transparent 2px 4px),var(--parchment)}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}
.container{max-width:var(--maxw);margin:0 auto;padding:0 28px}
h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.14;letter-spacing:.02em;color:var(--ink)}
h1{font-size:clamp(2.3rem,4.8vw,3.8rem)}h2{font-size:clamp(1.7rem,3.4vw,2.6rem)}h3{font-size:1.25rem;font-weight:600}
.lead{font-size:1.18rem;color:var(--ink2);max-width:62ch;font-style:italic}.center{text-align:center}.center .lead{margin-inline:auto}.muted{color:var(--muted)}
.eyebrow{display:inline-flex;align-items:center;gap:14px;font-family:var(--display);font-size:.74rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-d);font-weight:700;margin-bottom:16px}
.eyebrow::before{content:"";width:30px;height:1px;background:linear-gradient(90deg,var(--gold),transparent)}.center .eyebrow::after{content:"";width:30px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.section{padding:104px 0}.section--parch2{background:var(--parchment2)}.section--dark{background:var(--dark);color:#e9dcc0}
.section--dark h1,.section--dark h2,.section--dark h3{color:#f5e9c8}.section--dark .muted,.section--dark .lead{color:#cdb98f}.section--dark .eyebrow{color:var(--gold-l)}.section--dark .eyebrow::before{background:linear-gradient(90deg,var(--gold-l),transparent)}.section--dark .center .eyebrow::after{background:linear-gradient(90deg,transparent,var(--gold-l))}
.rule{height:2px;margin:18px auto;max-width:240px;background:linear-gradient(90deg,transparent,var(--gold) 20%,var(--gold-l) 50%,var(--gold) 80%,transparent)}
header{position:fixed;left:0;right:0;top:0;z-index:60;transition:background .4s var(--ease),box-shadow .4s;background:rgba(26,18,11,.78);backdrop-filter:blur(8px);border-bottom:1px solid rgba(194,161,77,.35)}
header::before{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold-d) 10%,var(--gold-l) 50%,var(--gold-d) 90%,transparent)}
.nav{display:flex;align-items:center;gap:26px;height:78px;max-width:var(--maxw);margin:0 auto;padding:0 28px}
.brand{display:flex;align-items:center;gap:13px;font-family:var(--display);font-weight:700;font-size:1.12rem;color:#f5e9c8;letter-spacing:.04em;flex-shrink:0}
.brand .crest{height:46px;width:46px;border-radius:50%;object-fit:cover;background:var(--dark);border:2px solid var(--gold)}
.brand small{display:block;font-family:var(--serif);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-l);font-weight:600;font-style:normal;white-space:nowrap;line-height:1.25}
.nav-links{display:flex;gap:24px;margin-left:auto;align-items:center}
.nav-links a{font-family:var(--display);font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(245,233,200,.86);padding:6px 0;position:relative;transition:color .3s}
.nav-links a:hover{color:var(--gold-l)}.nav-links a.active{color:var(--gold-l)}.nav-links a.active::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--gold-l)}
.nav-logout{display:inline-flex;margin-left:10px;padding:0;border:0}.nav-login{margin-left:10px;display:inline-flex;justify-content:center;align-items:center;text-align:center;padding:9px 18px;border-radius:5px;background:linear-gradient(180deg,var(--gold-l),var(--gold));color:var(--dark)!important;border:1px solid var(--gold-d);font-size:.72rem!important;letter-spacing:.14em;box-shadow:0 6px 18px -9px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.25);cursor:pointer;white-space:nowrap}.nav-login:hover{background:var(--gold-l);color:var(--dark)!important}.nav-login.active::after{display:none}.menu-toggle{display:none;background:none;border:0;cursor:pointer;flex-direction:column;gap:5px;padding:6px;margin-left:auto}.menu-toggle span{display:block;width:24px;height:2px;background:var(--gold-l)}
.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--display);font-weight:700;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;padding:15px 30px;border-radius:3px;cursor:pointer;border:1px solid transparent;transition:.3s var(--ease)}
.btn--gold{background:linear-gradient(180deg,var(--gold-l),var(--gold));color:var(--dark);border-color:var(--gold-d);box-shadow:0 6px 18px -8px rgba(0,0,0,.5)}.btn--gold:hover{filter:brightness(1.08);transform:translateY(-2px)}
.btn--wine{background:var(--wine);color:#f7e6c8;border-color:var(--wine-l)}.btn--wine:hover{background:var(--wine-l);transform:translateY(-2px)}
.btn--ghost{background:transparent;color:#f5e9c8;border-color:rgba(245,233,200,.45)}.btn--ghost:hover{border-color:var(--gold-l);color:var(--gold-l)}
.btn--outline{background:transparent;color:var(--gold-d);border-color:var(--gold-d)}.btn--outline:hover{background:var(--gold);color:var(--dark)}
.hero{position:relative;min-height:90vh;display:flex;align-items:center;color:#f5e9c8;overflow:hidden}
.hero__bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.06);filter:saturate(.9)}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(18,12,7,.9) 0%,rgba(18,12,7,.6) 42%,rgba(18,12,7,.25) 100%),linear-gradient(180deg,transparent 60%,rgba(18,12,7,.7))}
.hero__inner{position:relative;z-index:3;max-width:720px;padding:120px 0}.hero .eyebrow{color:var(--gold-l)}.hero h1{color:#f8edd1;margin-bottom:18px}.hero .sub{font-size:1.26rem;color:#e6d4a8;margin-bottom:32px;max-width:54ch;font-style:italic}
.hero__cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:36px}.hero__meta{display:flex;gap:14px;flex-wrap:wrap;font-size:.86rem;letter-spacing:.06em;color:#e6d4a8}
.chip{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(228,199,127,.4);padding:8px 16px;border-radius:2px;background:rgba(0,0,0,.25)}.chip b{color:var(--gold-l);font-family:var(--display)}
.bannerhead{text-align:center;margin-bottom:54px}.bannerhead h2{position:relative;display:inline-block;padding:0 30px}.bannerhead h2::before{content:"\2756";position:absolute;left:-4px;top:50%;transform:translateY(-50%);color:var(--gold);font-size:1rem}.bannerhead h2::after{content:"\2756";position:absolute;right:-4px;top:50%;transform:translateY(-50%);color:var(--gold);font-size:1rem}.bannerhead .eyebrow{justify-content:center}
.grid{display:grid;gap:26px}.grid--3{grid-template-columns:repeat(3,1fr)}.grid--2{grid-template-columns:repeat(2,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}
.scroll{background:var(--ivory);border:1px solid var(--line2);border-radius:4px;padding:34px;box-shadow:0 22px 44px -28px rgba(60,40,15,.5),inset 0 0 0 1px rgba(255,255,255,.4);position:relative}.scroll::before{content:"";position:absolute;inset:6px;border:1px solid rgba(194,161,77,.35);border-radius:2px;pointer-events:none}.scroll h3{color:var(--wine);margin-bottom:10px}.scroll p{color:var(--ink2)}
.rolecard{background:var(--ivory);border:1px solid var(--line2);border-radius:4px;overflow:hidden;transition:.4s var(--ease);box-shadow:0 16px 34px -24px rgba(60,40,15,.5)}.rolecard:hover{transform:translateY(-6px);box-shadow:0 28px 50px -26px rgba(60,40,15,.6);border-color:var(--gold)}
.rolecard__img{aspect-ratio:4/3;width:100%;object-fit:cover;background:var(--parchment2)}.rolecard__body{padding:26px}.rolecard__body h3{font-family:var(--display);color:var(--wine);margin-bottom:8px}.rolecard__body p{color:var(--ink2);font-size:1.04rem}
.fig{border-radius:4px;overflow:hidden;background:var(--parchment2);position:relative;box-shadow:0 16px 34px -24px rgba(60,40,15,.5);border:1px solid var(--line2)}.fig img{width:100%;height:100%;object-fit:cover;transition:.6s var(--ease)}.fig:hover img{transform:scale(1.05)}.fig figcaption{position:absolute;left:0;right:0;bottom:0;padding:16px;background:linear-gradient(transparent,rgba(20,14,8,.85));color:#f5e9c8;font-family:var(--display);font-size:.95rem;letter-spacing:.04em}
.fig--43{aspect-ratio:4/3}.fig--169{aspect-ratio:16/10}.fig--sq{aspect-ratio:1/1}.fig--34{aspect-ratio:3/4}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}.triple{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.day{background:var(--ivory);border:1px solid var(--line2);border-radius:4px;overflow:hidden;box-shadow:0 18px 38px -26px rgba(60,40,15,.5)}
.day__hd{background:linear-gradient(180deg,var(--dark2),var(--dark));color:var(--gold-l);padding:20px 26px;font-family:var(--display);display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;border-bottom:2px solid var(--gold)}.day__hd .d{font-size:1.3rem;letter-spacing:.06em}.day__hd .h{font-size:.86rem;letter-spacing:.12em;color:#e6d4a8}
.day__bd{padding:26px}.event{display:flex;gap:14px;padding:14px 0;border-bottom:1px dashed var(--line2)}.event:last-child{border-bottom:0}.event .t{font-family:var(--display);color:var(--wine);font-weight:700;min-width:96px;font-size:.92rem;letter-spacing:.04em}.event .b{color:var(--ink2);font-size:1.05rem}.event .b b{color:var(--ink);font-family:var(--display);font-size:1rem}
.callout{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.fact{background:var(--ivory);border:1px solid var(--line2);border-radius:4px;padding:24px;text-align:center;box-shadow:0 14px 30px -24px rgba(60,40,15,.5)}.fact .ic{font-size:1.6rem;color:var(--gold-d)}.fact h4{font-family:var(--display);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--wine);margin:8px 0 4px}.fact p{color:var(--ink2);font-size:1.02rem}
.camp-list{list-style:none;display:flex;flex-direction:column;gap:12px}.camp-list li{display:flex;gap:12px;align-items:flex-start;color:var(--ink2);font-size:1.05rem}.camp-list li::before{content:"\2666";color:var(--gold-d);font-size:.9rem;margin-top:2px}
.task{background:var(--ivory);border:1px solid var(--line2);border-radius:4px;padding:22px}.task h4{font-family:var(--display);color:var(--wine);margin-bottom:6px}.task p{color:var(--ink2)}
.rank{background:var(--ivory);border:1px solid var(--line2);border-left:4px solid var(--gold);border-radius:4px;padding:24px;box-shadow:0 14px 30px -26px rgba(60,40,15,.5)}.rank h4{font-family:var(--display);color:var(--wine);margin-bottom:6px}.rank p{color:var(--ink2)}
.poster{background:#1f160e;border:2px solid var(--gold);border-radius:6px;padding:40px;color:#f5e9c8;position:relative;box-shadow:0 30px 60px -30px rgba(0,0,0,.7)}.poster h3{font-family:var(--display);color:var(--gold-l);font-size:2.2rem;letter-spacing:.06em;text-align:center}.poster .stamp{position:absolute;top:18px;right:18px;border:3px solid var(--wine-l);color:var(--wine-l);padding:6px 14px;border-radius:4px;font-family:var(--display);font-size:.78rem;letter-spacing:.16em;transform:rotate(8deg)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}.info-list{list-style:none;display:flex;flex-direction:column;gap:22px}.info-list li{display:flex;gap:16px;align-items:flex-start}.info-list .ic{width:48px;height:48px;border-radius:4px;background:var(--parchment2);border:1px solid var(--line2);color:var(--gold-d);display:grid;place-items:center;font-size:1.3rem;flex-shrink:0}.info-list h4{font-family:var(--display);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--wine);margin-bottom:4px}.info-list .val{font-size:1.08rem}
.form{background:var(--ivory);border:1px solid var(--line2);border-radius:4px;padding:32px;box-shadow:0 22px 44px -28px rgba(60,40,15,.5)}.field{margin-bottom:18px}.field label{display:block;font-family:var(--display);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--wine);margin-bottom:7px}.field input,.field textarea,.field select{width:100%;padding:12px 14px;border:1px solid var(--line2);border-radius:3px;font-family:var(--serif);font-size:1.04rem;background:var(--parchment);color:var(--ink)}.field input:focus,.field textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(194,161,77,.2)}.field textarea{min-height:130px;resize:vertical}
.cta{display:grid;grid-template-columns:1.5fr 1fr;gap:40px;align-items:center}.cta h2{color:#f5e9c8}.cta p{color:#cdb98f;margin-top:12px}.cta__actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end}
.pagehero{position:relative;color:#f5e9c8;padding:130px 0 80px;overflow:hidden}.pagehero__bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.06);filter:saturate(.9)}.pagehero::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(18,12,7,.84) 0%,rgba(18,12,7,.5) 55%,rgba(18,12,7,.35) 100%)}.pagehero__inner{position:relative;z-index:2;max-width:780px}.pagehero .eyebrow{color:var(--gold-l)}.pagehero h1{color:#f8edd1}.pagehero p{color:#e6d4a8;font-size:1.2rem;margin-top:16px;max-width:62ch;font-style:italic}
footer{background:var(--dark);color:#bfa980;padding:64px 0 30px;border-top:2px solid var(--gold-d)}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:38px;margin-bottom:44px}footer h4{color:#f5e9c8;font-family:var(--display);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:16px}footer ul{list-style:none;display:flex;flex-direction:column;gap:11px}footer a{color:#bfa980}footer a:hover{color:var(--gold-l)}.footer-brand p{margin-top:14px;color:#9d8a62;font-size:.96rem;max-width:42ch}.footer-bottom{border-top:1px solid #2e2316;padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.86rem;color:#8a774f}.footer-brand .crest{height:54px;width:54px;border-radius:50%;border:2px solid var(--gold);object-fit:cover}
@media(max-width:980px){.grid--4,.grid--3{grid-template-columns:repeat(2,1fr)}.pair,.triple,.contact-grid,.cta{grid-template-columns:1fr;gap:30px}.callout{grid-template-columns:1fr}.cta__actions{justify-content:flex-start}.footer-grid{grid-template-columns:1fr 1fr}.nav-links{display:none;position:fixed;top:78px;left:0;right:0;flex-direction:column;gap:0;background:var(--dark);padding:12px 28px 26px;border-bottom:1px solid var(--gold-d)}.nav-links.open{display:flex}.nav-links a{padding:14px 0;border-bottom:1px solid #2e2316;font-size:.8rem}.nav-links a.active::after{display:none}.nav-links .nav-login{align-self:center;margin:16px 0 8px;padding:11px 26px;border-bottom:none;width:auto}.nav-links a.active::after{display:none}.nav-logout{display:inline-flex;margin-left:10px;padding:0;border:0}.nav-login{margin-left:10px;display:inline-flex;justify-content:center;align-items:center;text-align:center;padding:9px 18px;border-radius:5px;background:linear-gradient(180deg,var(--gold-l),var(--gold));color:var(--dark)!important;border:1px solid var(--gold-d);font-size:.72rem!important;letter-spacing:.14em;box-shadow:0 6px 18px -9px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.25);cursor:pointer;white-space:nowrap}.nav-login:hover{background:var(--gold-l);color:var(--dark)!important}.nav-login.active::after{display:none}.menu-toggle{display:flex}}
@media(max-width:620px){body{font-size:17px}.section{padding:68px 0}.grid--2,.grid--3,.grid--4,.pair,.triple{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.hero{min-height:84vh}.day__hd{flex-direction:column;align-items:flex-start;gap:4px}}

/* Pigeon medallion */
.medallion{width:132px;height:132px;border-radius:50%;background:var(--parchment);border:3px solid var(--gold);box-shadow:0 0 0 5px rgba(194,161,77,.22),0 18px 36px -16px rgba(0,0,0,.6);display:grid;place-items:center;font-size:62px;margin:0 auto 24px;position:relative}
.medallion .scroll{position:absolute;right:22px;bottom:20px;font-size:30px;transform:rotate(12deg);filter:drop-shadow(0 2px 2px rgba(0,0,0,.3))}
.pagehero .medallion{box-shadow:0 0 0 5px rgba(194,161,77,.22),0 18px 40px -14px rgba(0,0,0,.7);margin-top:70px}

.hero video.hero__bg{width:100%;height:100%;object-fit:cover;background:transparent}
.roster{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.member{text-align:center;background:var(--ivory);border:1px solid var(--line2);border-radius:4px;padding:26px 18px;box-shadow:0 14px 30px -26px rgba(60,40,15,.5)}
.member--lead{border-color:var(--gold);box-shadow:0 16px 34px -24px rgba(60,40,15,.55)}
.member--tba{border-style:dashed}
.member .avatar{width:84px;height:84px;border-radius:50%;background:linear-gradient(180deg,var(--gold-l),var(--gold));color:var(--dark);display:grid;place-items:center;margin:0 auto 14px;font-family:var(--display);font-weight:700;font-size:1.5rem;border:2px solid var(--gold-d)}
.member--lead .avatar{background:var(--wine);color:var(--gold-l)}
.member--tba .avatar{background:var(--parchment2);color:var(--muted);border-style:dashed}
.member h3{font-size:1.08rem;color:var(--ink);margin-bottom:4px}
.member .role{font-family:var(--display);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-d)}
.member--tba h3,.member--tba .role{color:var(--muted)}
@media(max-width:760px){.roster{grid-template-columns:repeat(2,1fr)}}

.article{margin:16px 0;padding:18px 22px;border-left:3px solid var(--gold);background:rgba(255,255,255,.05);border-radius:0 4px 4px 0}
.article h4{font-family:var(--display);color:var(--gold-l);margin-bottom:6px;letter-spacing:.04em}
.article p{color:#e6d4a8}

.pagehero video.pagehero__bg{width:100%;height:100%;object-fit:cover;background:transparent}

/* guild page: damask backdrop + roster extras */
body.guild-page{background:var(--parchment)}body.guild-page::before{background:linear-gradient(rgba(244,234,210,.72),rgba(244,234,210,.72)),url('/assets/img/damask.jpg') center/cover;background-attachment:fixed}
.member__avatar{width:84px;height:84px;border-radius:50%;border:2px solid var(--gold);object-fit:cover;margin:0 auto 14px;display:block}
.member--lead .member__avatar{border-color:var(--wine)}
.member__faires,.member__bunks{display:block;font-family:var(--serif);color:var(--muted);font-size:.82rem;margin-top:7px}
.member__bunks{font-style:italic;font-size:.78rem}
.member h3{margin-bottom:2px}
/* contact form status */
.alert{padding:14px 18px;border-radius:5px;margin-top:18px;font-family:var(--serif);font-size:.96rem}.alert--ok{background:rgba(44,74,54,.12);border:1px solid var(--forest);color:#22402b}.alert--bad{background:rgba(110,26,26,.12);border:1px solid var(--wine);color:var(--wine)}