:root { --ink:#1f2922; --paper:#f5f0e6; --warm:#ddd1bd; --red:#7d1f35; --wine-dark:#5e1326; --wine-light:#c28796; --line:rgba(31,41,34,.24); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"Source Sans 3", sans-serif; font-size:18px; line-height:1.5; }
a { color:inherit; text-decoration:none; }
.skip-link { position:fixed; top:-3rem; left:1rem; z-index:20; background:var(--ink); color:white; padding:.5rem 1rem; }.skip-link:focus { top:1rem; }
.site-header { height:88px; padding:0 clamp(1.4rem,5vw,5.5rem); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); position:relative; z-index:3; }
.brand { display:flex; align-items:center; gap:.65rem; font-family:"DM Mono", monospace; font-size:1.12rem; letter-spacing:-.06em; }.brand-logo { width:30px; height:30px; object-fit:cover; border-radius:50%; }.dot { color:var(--red); }
.primary-navigation { display:flex; gap:2rem; align-items:center; font-size:.94rem; }.primary-navigation > a:not(.nav-contact) { position:relative; }.primary-navigation > a:not(.nav-contact)::after { content:""; position:absolute; height:1px; background:var(--ink); inset:auto 0 -4px; transform:scaleX(0); transition:transform .25s; }.primary-navigation > a:hover::after { transform:scaleX(1); }.nav-contact { border:1px solid var(--ink); padding:.42rem .9rem; }.menu-button { display:none; background:none; border:0; padding:.5rem; }.menu-button span:not(.sr-only) { width:23px; height:1px; margin:5px 0; background:var(--ink); display:block; }.sr-only { position:absolute; width:1px; height:1px; clip:rect(0 0 0 0); overflow:hidden; }
.hero { min-height:calc(100vh - 88px); max-height:840px; position:relative; overflow:hidden; padding:clamp(4rem,11vh,8rem) clamp(1.4rem,14vw,14rem); display:flex; align-items:center; }.hero-copy { max-width:760px; z-index:1; }.eyebrow { margin:0 0 1rem; color:var(--red); font:500 .87rem/1 "DM Mono",monospace; letter-spacing:.12em; text-transform:uppercase; }.hero h1,h2,h3 { font-family:"Playfair Display",serif; font-weight:500; line-height:.98; letter-spacing:-.05em; }.hero h1 { font-size:clamp(3.8rem,8.4vw,8.1rem); margin:0; }.hero h1 em,h2 em { font-weight:500; }.hero-intro { max-width:455px; margin:2.3rem 0 1.8rem; font-size:1.17rem; }.text-link { display:inline-flex; gap:.7rem; align-items:center; border-bottom:1px solid var(--ink); padding-bottom:.25rem; font-weight:600; font-size:.92rem; }.text-link span { color:var(--red); font-size:1.2em; transition:transform .2s; }.text-link:hover span { transform:translateX(4px); }.hero-art { position:absolute; color:var(--wine-light); opacity:.8; width:min(58vw,720px); right:-7vw; top:4%; height:90%; }.hero-art svg { height:100%; width:100%; }.hero-side-note { font:400 .67rem/1.6 "DM Mono",monospace; text-transform:uppercase; letter-spacing:.08em; position:absolute; bottom:2.3rem; right:clamp(1.4rem,5vw,5.5rem); text-align:right; }
.section-shell { padding-left:clamp(1.4rem,8vw,8rem); padding-right:clamp(1.4rem,8vw,8rem); }.section-number { margin:0; font:400 .68rem/1 "DM Mono",monospace; color:var(--red); }.intro { display:grid; grid-template-columns:10% 1.6fr .75fr; gap:3rem; padding-top:8rem; padding-bottom:8rem; border-top:1px solid var(--line); }.intro h2,.section-heading h2,.membership h2,.contact h2 { margin:.1rem 0 1.7rem; font-size:clamp(2.7rem,5vw,5.3rem); }.lede { font-size:clamp(1.15rem,1.8vw,1.5rem); line-height:1.5; max-width:740px; }.intro-aside { align-self:end; border-top:1px solid var(--line); padding-top:1rem; font-size:.95rem; }.intro-aside .text-link { margin-top:1rem; }
.program-section { background:var(--ink); color:var(--paper); padding:7rem 0; }.section-heading { display:grid; grid-template-columns:10% 1fr auto; gap:2rem; align-items:start; }.section-heading h2 { margin-bottom:3.5rem; }.desktop-link { border-color:var(--paper); align-self:end; margin-bottom:4rem; }.event-grid { display:grid; grid-template-columns:1.35fr 1fr 1fr; border-top:1px solid rgba(245,240,230,.35); }.event-card { min-height:360px; padding:1.5rem; border-right:1px solid rgba(245,240,230,.35); display:flex; flex-direction:column; }.event-card:last-child { border-right:0; }.event-featured { background:var(--red); }.event-date { display:flex; align-items:baseline; gap:.35rem; font-family:"DM Mono",monospace; }.event-date span { font-size:2rem; }.event-date small,.event-type { font:400 .63rem/1 "DM Mono",monospace; text-transform:uppercase; letter-spacing:.1em; }.event-content { margin-top:auto; }.event-type { margin:0 0 1rem; opacity:.8; }.event-card h3 { margin:0 0 1.2rem; font-size:clamp(1.8rem,3vw,3rem); }.event-card p:not(.event-type) { max-width:27rem; margin:0; font-size:.93rem; opacity:.86; }.event-card a { display:inline-block; margin-top:1.7rem; border-bottom:1px solid currentColor; font-size:.88rem; padding-bottom:.2rem; }
.membership { display:grid; grid-template-columns:1fr 1fr; min-height:740px; }.membership-visual { background:var(--warm); display:grid; place-items:center; overflow:hidden; position:relative; padding-top:9rem; }.membership-logo { position:absolute; top:clamp(2rem,7vw,5rem); left:50%; width:min(62%,310px); height:auto; transform:translateX(-50%); }.plate { width:min(30vw,430px); aspect-ratio:1; background:var(--paper); border-radius:50%; box-shadow:0 0 0 1px rgba(31,41,34,.1), inset 0 0 0 35px rgba(221,209,189,.45); display:grid; place-items:center; }.plate div { width:31%; aspect-ratio:1; border:1px solid var(--red); border-radius:50%; position:relative; }.plate div::before,.plate div::after { content:""; position:absolute; background:var(--red); left:50%; top:50%; transform:translate(-50%,-50%); }.plate div::before { width:140%; height:1px; }.plate div::after { width:1px; height:140%; }.membership-copy { padding:clamp(4rem,9vw,9rem) clamp(1.4rem,9vw,9rem); align-self:center; }.membership-copy .section-number { margin-bottom:4rem; }.button { background:var(--red); color:white; display:inline-flex; gap:2.5rem; padding:.85rem 1.1rem; margin-top:1.1rem; font-size:.9rem; font-weight:600; transition:background .2s; }.button:hover { background:var(--wine-dark); }
.contact { padding-top:8rem; padding-bottom:8rem; display:grid; grid-template-columns:10% 1.4fr .8fr; gap:2rem; border-top:1px solid var(--line); }.contact h2 { margin-bottom:0; }.contact-details { align-self:end; }.contact-details a { font:500 clamp(1.4rem,2.3vw,2.2rem)/1.1 "Playfair Display",serif; border-bottom:1px solid var(--ink); }.contact-details p { font-size:.9rem; margin:1.4rem 0 0; }.site-footer { background:var(--ink); color:var(--paper); padding:2rem clamp(1.4rem,5vw,5.5rem); display:flex; align-items:center; justify-content:space-between; gap:1rem; font-size:.77rem; }.site-footer p { margin:0; opacity:.75; }
.application-page,.member-page { max-width:980px; min-height:calc(100vh - 150px); padding-top:clamp(4rem,10vw,9rem); padding-bottom:6rem; }.application-page h1,.member-page h1 { font:500 clamp(3rem,6.5vw,6rem)/.98 "Playfair Display",serif; letter-spacing:-.05em; margin:.25rem 0 2rem; }.application-page > .lede,.member-page > .lede { margin-bottom:2.5rem; }.application-form { display:grid; gap:1.25rem; max-width:610px; }.application-form label { display:grid; gap:.45rem; font-size:.95rem; font-weight:600; }.application-form label span { font-weight:400; color:rgba(31,41,34,.7); }.application-form input,.application-form textarea { border:1px solid var(--line); border-radius:0; padding:.75rem .8rem; background:rgba(255,255,255,.35); color:var(--ink); font:400 1rem "Source Sans 3",sans-serif; }.application-form input:focus,.application-form textarea:focus { outline:2px solid var(--red); outline-offset:2px; }.application-form .button { border:0; justify-content:space-between; width:max-content; cursor:pointer; }.form-note,.member-help { font-size:.85rem; margin:0; }.member-lock { width:64px; height:64px; border:1px solid var(--red); color:var(--red); border-radius:50%; display:grid; place-items:center; margin:2.5rem 0; font-size:1.4rem; }.member-help a { border-bottom:1px solid currentColor; }
.application-form select,.application-form input[type=file] { border:1px solid var(--line); border-radius:0; padding:.75rem .8rem; background:rgba(255,255,255,.35); color:var(--ink); font:400 1rem "Source Sans 3",sans-serif; }.form-error { color:var(--wine-dark); font-weight:600; }.portal-message { margin:1.4rem auto 0; max-width:1200px; color:var(--red); font-weight:600; }.admin-page { padding-top:5rem; padding-bottom:7rem; }.admin-page h1 { font:500 clamp(3rem,6vw,5.5rem)/.96 "Playfair Display",serif; letter-spacing:-.05em; margin:.3rem 0 3rem; }.admin-page h2 { font-size:2rem; margin-top:0; }.admin-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; margin:4rem 0 6rem; }.password-section > p { max-width:650px; }.member-password { display:grid; grid-template-columns:1fr 1.2fr 1.3fr auto; gap:1rem; align-items:center; padding:1rem 0; border-bottom:1px solid var(--line); }.member-password span { font-size:.85rem; }.member-password input { padding:.55rem; border:1px solid var(--line); background:rgba(255,255,255,.35); }.text-button { border:0; background:none; color:var(--red); border-bottom:1px solid var(--red); padding:.1rem; cursor:pointer; }.rsvp-inline { display:flex; gap:.5rem; justify-self:end; }.rsvp-choice { border:1px solid var(--line); background:transparent; color:var(--ink); padding:.4rem .6rem; cursor:pointer; font:500 .7rem "DM Mono",monospace; }.rsvp-choice.selected,.rsvp-choice:hover { background:var(--red); color:white; border-color:var(--red); }
.member-body { background:#eee7da; }.member-hero { padding-top:clamp(4rem,9vw,8rem); padding-bottom:clamp(4rem,9vw,8rem); display:grid; grid-template-columns:10% 1.4fr .7fr; gap:2rem; background:var(--ink); color:var(--paper); }.member-hero h1,.member-section-heading h2,.upload-section h2 { font:500 clamp(3rem,6.5vw,6rem)/.96 "Playfair Display",serif; letter-spacing:-.055em; margin:.2rem 0; }.member-intro { align-self:end; max-width:340px; font-size:1rem; }.next-evening { background:var(--red); color:white; padding-top:4rem; padding-bottom:4rem; }.next-evening .section-number { color:#f2c1ac; }.next-card { margin-top:2rem; display:grid; grid-template-columns:.7fr 1.4fr auto; gap:2rem; align-items:end; }.next-date { font-family:"DM Mono",monospace; display:grid; gap:.8rem; }.next-date span { font-size:1.8rem; }.next-date small { font-size:.68rem; line-height:1.6; text-transform:uppercase; letter-spacing:.08em; }.next-card h2 { font:500 clamp(2.2rem,4vw,4rem)/.96 "Playfair Display",serif; letter-spacing:-.05em; margin:.2rem 0 1rem; }.next-card p:not(.eyebrow) { max-width:550px; margin:0; }.next-card .button { background:var(--paper); color:var(--ink); white-space:nowrap; }.calendar-section,.archive-section,.upload-section { padding-top:7rem; padding-bottom:7rem; }.member-section-heading { display:grid; grid-template-columns:1.4fr .6fr; gap:4rem; align-items:end; margin-bottom:3rem; }.member-section-heading > p { margin:0 0 .5rem; font-size:1rem; }.calendar-list { border-top:1px solid var(--line); }.calendar-row { display:grid; grid-template-columns:130px 1fr 1fr 22px; align-items:center; gap:1.5rem; padding:1.3rem 0; border-bottom:1px solid var(--line); }.calendar-row time { font:500 .8rem "DM Mono",monospace; color:var(--red); }.calendar-row time span { font-size:2.2rem; }.calendar-row h3,.archive-item h3 { margin:.1rem 0 0; font:500 1.45rem/1 "Playfair Display",serif; letter-spacing:-.03em; }.menu-status { margin:0; font-size:.9rem; }.status-dot { height:8px; width:8px; background:var(--red); border-radius:50%; justify-self:end; }.calendar-note { font-size:.8rem; margin:1rem 0 0; opacity:.7; }.archive-section { background:#ded2c0; }.archive-list { border-top:1px solid var(--line); }.archive-item { display:grid; grid-template-columns:145px 1fr auto; gap:1.5rem; align-items:center; padding:1.6rem 0; border-bottom:1px solid var(--line); }.archive-item time { font:400 .75rem "DM Mono",monospace; color:var(--red); }.archive-item a { font-size:.85rem; border-bottom:1px solid var(--ink); padding-bottom:.15rem; }.upload-section { display:grid; grid-template-columns:1fr 1fr; gap:7rem; }.upload-section h2 { font-size:clamp(2.8rem,5vw,5rem); margin-bottom:1.6rem; }.upload-section > div > p:last-child { max-width:420px; }.archive-form { display:grid; gap:1.05rem; align-content:start; }.archive-form label { display:grid; gap:.42rem; font-weight:600; font-size:.9rem; }.archive-form input { border:1px solid var(--line); border-radius:0; padding:.75rem; color:var(--ink); background:rgba(255,255,255,.4); font:400 1rem "Source Sans 3",sans-serif; }.archive-form .file-label { border:1px dashed rgba(31,41,34,.55); padding:1.1rem; }.archive-form .file-label input { padding:0; border:0; background:transparent; font-size:.82rem; }.file-label span { font-weight:400; font-size:.8rem; }.archive-form .button { border:0; width:max-content; cursor:pointer; }
.directory-section { padding-top:7rem; padding-bottom:7rem; background:var(--paper); }.attendance-heading { margin:1.3rem 0 0; color:var(--red); font:500 .8rem/1.4 "DM Mono",monospace; text-transform:uppercase; letter-spacing:.08em; }.member-directory { border-top:1px solid var(--line); display:grid; grid-template-columns:1fr 1fr; column-gap:3rem; }.member-directory > div { display:grid; grid-template-columns:3rem 1fr auto; gap:.8rem; align-items:baseline; padding:1rem 0; border-bottom:1px solid var(--line); }.attendance-lamp { width:12px; height:12px; margin-left:.55rem; border-radius:50%; box-shadow:0 0 0 3px rgba(31,41,34,.09); align-self:center; }.attendance-lamp.is-attending { background:#31824d; }.attendance-lamp.is-declined { background:#761b30; box-shadow:0 0 0 3px rgba(118,27,48,.12); }.attendance-lamp.is-unanswered { background:#a3aaa5; box-shadow:0 0 0 3px rgba(31,41,34,.07); }.member-directory > div.is-declined { opacity:.42; }.member-directory > div.is-unanswered { opacity:.72; }.member-directory strong { font:500 1.2rem "Playfair Display",serif; letter-spacing:-.02em; }.member-directory em { font:400 .68rem "DM Mono",monospace; text-transform:uppercase; letter-spacing:.08em; font-style:normal; color:rgba(31,41,34,.65); }
.rsvp-section { display:grid; grid-template-columns:1fr 1fr; gap:7rem; padding-top:7rem; padding-bottom:7rem; background:var(--paper); }.rsvp-section h2 { font:500 clamp(2.8rem,5vw,5rem)/.96 "Playfair Display",serif; letter-spacing:-.055em; margin:.2rem 0 1.6rem; }.rsvp-section > div > p:last-child { max-width:430px; }.rsvp-form { align-content:start; display:grid; gap:1.35rem; padding-top:1.4rem; }.rsvp-deadline { border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin:0; padding:1rem 0; font-size:.95rem; }.rsvp-form fieldset { display:grid; gap:.75rem; border:0; padding:0; margin:0; }.rsvp-form legend { margin-bottom:.75rem; font-weight:600; }.rsvp-form label { display:flex; align-items:center; gap:.65rem; font-size:1rem; }.rsvp-form input { accent-color:var(--red); width:1rem; height:1rem; }.rsvp-form .button { border:0; width:max-content; cursor:pointer; }.rsvp-form .form-note { color:var(--red); font-weight:600; }
.program-section,.site-footer,.member-hero { background:var(--red); }.program-section .eyebrow,.program-section .section-number,.member-hero .eyebrow,.member-hero .section-number { color:white; }.site-footer .brand { color:white; }.site-footer .dot { color:white; }
@media (max-width:760px) { body { font-size:16px; }.site-header { height:72px; }.primary-navigation { position:absolute; top:71px; left:0; right:0; padding:1rem 1.4rem 1.5rem; background:var(--paper); border-bottom:1px solid var(--line); display:none; flex-direction:column; align-items:flex-start; gap:1.2rem; }.primary-navigation.open { display:flex; }.menu-button { display:block; }.hero { min-height:660px; padding:5rem 1.4rem; align-items:flex-start; }.hero-art { width:120vw; right:-48vw; height:76%; top:21%; opacity:.48; }.hero-side-note { bottom:1.5rem; }.intro,.contact { grid-template-columns:1fr; gap:1.8rem; padding-top:5rem; padding-bottom:5rem; }.intro-main,.intro-aside,.contact-details { max-width:600px; }.section-heading { grid-template-columns:1fr; gap:1.4rem; }.section-heading h2 { margin-bottom:1.5rem; }.desktop-link { display:none; }.program-section { padding:5rem 0; }.event-grid { grid-template-columns:1fr; }.event-card { min-height:280px; border-right:0; border-bottom:1px solid rgba(245,240,230,.35); }.event-card:last-child { border-bottom:0; }.membership { grid-template-columns:1fr; }.membership-visual { min-height:360px; }.plate { width:min(65vw,330px); }.membership-copy { padding:5rem 1.4rem; }.membership-copy .section-number { margin-bottom:2.5rem; }.site-footer { flex-wrap:wrap; }.site-footer p:nth-of-type(1) { order:3; width:100%; } }
@media (max-width:760px) { .member-hero,.next-card,.member-section-heading,.upload-section { grid-template-columns:1fr; gap:1.6rem; }.member-hero { padding-top:5rem; padding-bottom:5rem; }.member-intro { margin:0; }.next-evening,.directory-section,.calendar-section,.archive-section,.upload-section { padding-top:4.5rem; padding-bottom:4.5rem; }.member-directory { grid-template-columns:1fr; }.member-directory > div { grid-template-columns:2.4rem 1fr; }.member-directory em { grid-column:2; }.calendar-row { grid-template-columns:75px 1fr 16px; gap:1rem; }.calendar-row time span { font-size:1.6rem; }.menu-status { grid-column:2 / 4; margin-top:-.8rem; }.archive-item { grid-template-columns:1fr; gap:.5rem; }.archive-item a { width:max-content; margin-top:.6rem; }.upload-section { gap:3rem; } }
@media (max-width:760px) { .rsvp-section { grid-template-columns:1fr; gap:2rem; padding-top:4.5rem; padding-bottom:4.5rem; } }
@media (max-width:760px) { .admin-grid { grid-template-columns:1fr; gap:3rem; margin:3rem 0 4rem; }.member-password { grid-template-columns:1fr; gap:.45rem; }.rsvp-inline { grid-column:2 / 4; justify-self:start; }.calendar-row { padding-bottom:1.4rem; } }
@media (max-width:760px) { .membership-visual { min-height:440px; padding-top:7rem; padding-bottom:1.5rem; }.membership-logo { top:1.5rem; width:min(58%,230px); }.plate { width:min(56vw,250px); } }
.hero-emblem { position:absolute; left:50%; top:50%; width:31%; aspect-ratio:1; object-fit:cover; border-radius:50%; transform:translate(-50%,-50%); }.membership-logo { width:min(46%,250px); transform:translateX(-50%) translateY(57px); }.plate { transform:translateY(38px); }
.hero-logo-only { width:min(30vw,360px); height:auto; aspect-ratio:1; right:clamp(2rem,9vw,10rem); top:50%; opacity:1; transform:translateY(-50%); }.hero-logo-only .hero-emblem { width:100%; height:100%; }.membership-illustration { padding:2.5rem; color:var(--wine-light); display:grid; place-items:center; }.membership-art { width:min(90%,520px); height:90%; max-height:610px; }
@media (max-width:760px) { .hero-logo-only { width:min(48vw,220px); right:1rem; top:31%; height:auto; opacity:1; transform:none; }.membership-illustration { min-height:440px; padding:1.5rem; }.membership-art { width:100%; height:auto; max-height:390px; } }
@media (max-width:760px) { .personal-overview { grid-template-columns:1fr; }.personal-overview article { min-height:150px; border-right:0; border-bottom:1px solid var(--line); }.personal-overview article:last-child { border-bottom:0; } }
.archive-evening { padding:2rem 0; border-bottom:1px solid var(--line); }.archive-evening-heading { display:grid; grid-template-columns:145px 1fr; gap:1.5rem; align-items:start; }.archive-evening time { color:var(--red); font:400 .78rem "DM Mono",monospace; }.archive-evening h3 { font:500 1.35rem/1.3 "Playfair Display",serif; letter-spacing:-.025em; margin:.15rem 0 0; }.archive-evening-content { display:grid; grid-template-columns:1fr 1fr; gap:3rem; margin:1.4rem 0 0 160px; padding-top:1.2rem; border-top:1px solid rgba(31,41,34,.16); }.archive-label { margin:0 0 .65rem; font:500 .7rem "DM Mono",monospace; color:var(--red); text-transform:uppercase; letter-spacing:.08em; }.archive-document-links,.archive-attendance { list-style:none; padding:0; margin:0; display:grid; gap:.55rem; }.archive-document-links a { display:inline-flex; gap:.8rem; border-bottom:1px solid rgba(31,41,34,.38); padding-bottom:.15rem; }.archive-document-links a span { color:var(--red); font:500 .7rem "DM Mono",monospace; text-transform:uppercase; }.archive-attendance { grid-template-columns:1fr 1fr; gap:.55rem .8rem; }.archive-attendance li { display:flex; align-items:center; gap:.4rem; font-size:.92rem; }.archive-attendance .attendance-lamp { margin-left:0; flex:0 0 auto; width:9px; height:9px; }.archive-empty { margin:0; font-size:.9rem; color:rgba(31,41,34,.68); }
.recipe-page { max-width:850px; min-height:calc(100vh - 150px); padding-top:clamp(4rem,9vw,8rem); padding-bottom:7rem; }.recipe-page h1 { font:500 clamp(3rem,6vw,5.5rem)/.96 "Playfair Display",serif; letter-spacing:-.05em; margin:.35rem 0 2rem; }.recipe-intro { max-width:570px; margin:0 0 2.5rem; font-size:1.1rem; }.recipe-form { max-width:650px; padding-top:1.8rem; border-top:1px solid var(--line); }
@media (max-width:760px) { .archive-evening-heading,.archive-evening-content { grid-template-columns:1fr; gap:1rem; margin-left:0; }.archive-evening-content { margin-top:1.1rem; }.archive-attendance { grid-template-columns:1fr; } }
.planning-overview { margin:0 0 6rem; }.planning-overview > p { max-width:680px; }.planning-overview .calendar-row { grid-template-columns:130px 1fr 1fr; }.planning-overview .calendar-row small { display:inline-block; margin-top:.35rem; }
@media (max-width:760px) { .planning-overview .calendar-row { grid-template-columns:75px 1fr; }.planning-overview .calendar-row .menu-status { grid-column:2; margin:0; } }
.course-list { display:grid; gap:.35rem; font-size:.83rem; }.course-list p { display:grid; grid-template-columns:6.8rem 1fr; gap:.5rem; margin:0; }.course-list strong { font:500 .66rem/1.5 "DM Mono",monospace; letter-spacing:.06em; text-transform:uppercase; color:var(--red); }.course-list small { margin-top:.4rem; color:rgba(31,41,34,.65); }
@media (max-width:760px) { .course-list { grid-column:2 / 4; margin-top:-.8rem; }.course-list p { grid-template-columns:6.2rem 1fr; } }
.member-actions { display:grid; grid-template-columns:repeat(4,1fr); background:var(--paper); border-bottom:1px solid var(--line); }.member-actions a { min-height:170px; padding:1.5rem; border-right:1px solid var(--line); display:grid; align-content:space-between; gap:.5rem; }.member-actions a:last-child { border:0; }.member-actions span { color:var(--red); font:.7rem "DM Mono",monospace; }.member-actions strong { font:500 1.5rem/1 "Playfair Display",serif; }.member-actions small { font-size:.78rem; color:rgba(31,41,34,.7); }.member-actions a:hover { background:var(--warm); }.messages-page { padding-top:5rem; padding-bottom:7rem; }.messages-page h1 { font:500 clamp(3rem,6.5vw,6rem)/.98 "Playfair Display",serif; letter-spacing:-.05em; margin:.25rem 0 3rem; }.messages-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:6rem; }.messages-grid h2 { font:500 2rem "Playfair Display",serif; }.all-members { display:flex!important; align-items:center; gap:.6rem; }.all-members input { width:1rem; height:1rem; accent-color:var(--red); }.message-list { border-top:1px solid var(--line); }.message-list article { padding:1.1rem 0; border-bottom:1px solid var(--line); }.message-list p { margin:.2rem 0; }.message-list span { font-size:.75rem; color:rgba(31,41,34,.65); }
.personal-overview { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.personal-overview article { min-height:205px; padding:1.5rem; border-right:1px solid var(--line); display:flex; flex-direction:column; }.personal-overview article:last-child { border-right:0; }.overview-label { margin:0 0 1.75rem; color:var(--red); font:.68rem/1 "DM Mono",monospace; text-transform:uppercase; letter-spacing:.08em; }.personal-overview h2 { margin:0 0 .65rem; font:500 1.65rem/1.05 "Playfair Display",serif; }.personal-overview p:not(.overview-label) { margin:0; font-size:.88rem; line-height:1.4; }.personal-overview a { margin-top:auto; padding-top:1.3rem; font-size:.85rem; border-bottom:1px solid currentColor; width:max-content; }.personal-overview ul { margin:.2rem 0 0; padding-left:1rem; font-size:.82rem; line-height:1.5; }.personal-overview li+li { margin-top:.3rem; }
@media (max-width:760px) { .member-actions { grid-template-columns:1fr 1fr; }.member-actions a { min-height:140px; border-bottom:1px solid var(--line); }.member-actions a:nth-child(2) { border-right:0; }.messages-grid { grid-template-columns:1fr; gap:3rem; } }
.honorary-members { padding-top:2rem; }.honorary-members h3 { margin:0; font:500 1.45rem/1 "Playfair Display",serif; letter-spacing:-.03em; }.honorary-list { display:grid; grid-template-columns:1fr 1fr; gap:3rem; margin-top:1rem; }.honorary-list > div { padding:.8rem 0; border-bottom:1px solid var(--line); font:500 1.08rem "Playfair Display",serif; }
@media (max-width:760px){body{overflow-x:hidden}.application-page,.recipe-page,.messages-page,.admin-page{min-height:auto;padding-top:3.5rem;padding-bottom:4rem}.application-form{width:100%}.application-form input,.application-form textarea,.application-form select{max-width:100%}.calendar-row{grid-template-columns:75px 1fr}.calendar-row .course-list,.calendar-row .rsvp-inline{grid-column:2}.rsvp-inline{justify-self:start;flex-wrap:wrap}}
.past-events-section { padding-top:2.25rem; padding-bottom:4rem; }
.past-events-label { margin:0 0 .7rem; color:rgba(125,31,53,.7); font:500 .68rem/1 "DM Mono",monospace; text-transform:uppercase; letter-spacing:.09em; }
.past-events-list { border-top:1px solid rgba(31,41,34,.18); }
.past-event-row { display:grid; grid-template-columns:120px 1fr auto; gap:1.25rem; align-items:center; padding:.7rem 0; border-bottom:1px solid rgba(31,41,34,.14); color:rgba(31,41,34,.68); }
.past-event-row:hover { color:var(--ink); background:rgba(255,255,255,.2); }
.past-event-row time,.past-event-row em { font:500 .68rem/1.2 "DM Mono",monospace; color:rgba(125,31,53,.66); font-style:none; }
.past-event-row strong { display:block; font:500 1rem/1.1 "Playfair Display",serif; }.past-event-row small { display:block; margin-top:.2rem; font-size:.78rem; }.archive-evening { scroll-margin-top:2rem; }
@media (max-width:760px) { .past-event-row { grid-template-columns:74px 1fr; gap:.7rem; }.past-event-row em { grid-column:2; }.past-events-section { padding-bottom:3rem; } }
.attendance-lamp { display:block; box-sizing:border-box; min-width:12px; min-height:12px; border:1px solid rgba(31,41,34,.38); }.member-directory > div.is-declined { opacity:1; }.member-directory > div.is-declined strong, .member-directory > div.is-declined em { opacity:.42; }.attendance-lamp.is-declined { background:#a74354; opacity:.68; }.attendance-lamp.is-unanswered { background:#a3aaa5; opacity:.9; }
.member-directory .attendance-lamp { display:block !important; width:18px !important; height:18px !important; min-width:18px !important; min-height:18px !important; margin-left:.35rem !important; border:2px solid rgba(31,41,34,.42) !important; border-radius:50% !important; visibility:visible !important; opacity:1 !important; }.member-directory .attendance-lamp.is-attending { background:#31824d !important; }.member-directory .attendance-lamp.is-declined { background:#b76a78 !important; }.member-directory .attendance-lamp.is-unanswered { background:#8f9690 !important; }.member-directory > div.is-declined strong, .member-directory > div.is-declined em { opacity:.42; }
.member-directory .attendance-lamp::after { content:"●"; display:block; font-family:Arial,sans-serif; font-size:28px; line-height:14px; font-weight:700; }.member-directory .attendance-lamp.is-attending::after { color:#31824d !important; }.member-directory .attendance-lamp.is-declined::after { color:#b76a78 !important; }.member-directory .attendance-lamp.is-unanswered::after { color:#8f9690 !important; }
.member-directory .attendance-lamp::after { content:none !important; }.member-directory .attendance-lamp { color:#8f9690 !important; font-size:24px !important; line-height:18px !important; }.member-directory .attendance-lamp.is-attending { color:#31824d !important; }.member-directory .attendance-lamp.is-declined { color:#b76a78 !important; }.member-directory .attendance-lamp.is-unanswered { color:#8f9690 !important; }
.member-directory > div.is-paused { opacity:.35; }.member-directory .attendance-lamp.is-paused { background:#d8d2c9 !important; color:#9c958a !important; border-color:#bcb4a9 !important; }
.member-directory > div:nth-child(4) { opacity:.35; }.member-directory > div:nth-child(4) .attendance-lamp { background:#d8d2c9 !important; color:#9c958a !important; border-color:#bcb4a9 !important; }.member-directory > div:nth-child(4) em::after { content:" · PAUS"; }
.member-directory > div:nth-child(4) { opacity: .38; }.member-directory > div:nth-child(4) .attendance-lamp { background: #d8d2c9 !important; color: #9c958a !important; border-color: #bcb4a9 !important; }.member-directory > div:nth-child(4) em::after { content: " (PAUS)" !important; }.member-directory > div:nth-child(4) { opacity: .38; }.member-directory > div:nth-child(4) .attendance-lamp { background: #d8d2c9 !important; color: #9c958a !important; border-color: #bcb4a9 !important; }.member-directory > div:nth-child(4) em::after { content: " (PAUS)" !important; }.calendar-section{display:flex;flex-direction:column}.calendar-section>.member-section-heading{order:0}.calendar-section>div:last-child{order:1}.calendar-section>.calendar-list{order:2}
/* AGL: genomförda sammankomster visas före kommande datum */
.calendar-section{display:flex;flex-direction:column}.calendar-section>.member-section-heading{order:0}.calendar-section>.past-events-section{order:1}.calendar-section>.calendar-list{order:2}.archive-menu{display:grid;gap:.38rem}.archive-menu p{display:grid;grid-template-columns:minmax(7rem,9rem) minmax(0,1fr);gap:.7rem;margin:0}.archive-menu strong{text-transform:uppercase;letter-spacing:.08em;color:var(--wine,#6c1830);font-size:.78rem}
\n/* AGL: receptetiketter */\n.recipe-tags{display:flex;flex-wrap:wrap;gap:.42rem;margin:.55rem 0 .75rem}.recipe-tags span{padding:.28rem .58rem;border:1px solid rgba(108,24,48,.35);border-radius:999px;color:#6c1830;background:#f6efe7;font-size:.73rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}\n