
:root{--paper:#f1eadc;--ink:#302a22;--muted:#736959;--gold:#96774d;--line:#d4c8b5;--dark:#2b3027}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 Georgia,'Times New Roman',serif}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #ae773a;outline-offset:5px}.wrap{max-width:1320px;margin:auto;padding:0 6%}.eyebrow,nav,.button,.small,summary,footer{font-family:Arial,sans-serif}.eyebrow{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;color:var(--gold)}header{border-bottom:1px solid var(--line)}.header{min-height:108px;display:flex;align-items:center;justify-content:space-between;gap:35px}.brand{text-decoration:none;display:flex;align-items:center;gap:15px}.monogram{border:1px solid var(--gold);width:47px;height:55px;display:grid;place-items:center;font-size:22px;border-radius:24px 24px 4px 4px;color:var(--gold)}.brand-name{display:block;font-size:22px;line-height:1.2}.brand-sub{display:block;font:8px Arial,sans-serif;letter-spacing:2.5px;margin-top:8px;text-transform:uppercase}nav{display:flex;align-items:center;gap:28px;font-size:11px}nav a{text-decoration:none}nav a:hover{text-decoration:underline;text-underline-offset:6px}.nav-member{border:1px solid #b7aa96;padding:11px 17px}.hero{padding-top:69px;text-align:center}.hero .eyebrow{margin:0 0 20px}h1{font-weight:400;font-size:clamp(45px,5.5vw,76px);line-height:1.06;letter-spacing:-2.5px;margin:0 auto 25px}h1 em{font-weight:400;color:#746344}.intro{max-width:540px;margin:0 auto 27px;color:var(--muted);font-size:17px}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;background:var(--dark);color:#f7f0e2;text-decoration:none;padding:13px 22px;font-size:11px;letter-spacing:.5px;border:1px solid var(--dark);cursor:pointer}.button:hover{background:#414735}.text-link{display:inline-block;margin-left:25px;font:11px Arial,sans-serif;text-underline-offset:5px}.visual{height:390px;background:#ddd3c1;border:1px solid #c6b89f;margin-top:49px;display:grid;place-items:center;position:relative}.visual:before,.visual:after{content:'';position:absolute;width:28px;height:28px;border-color:#a18e6e}.visual:before{top:18px;left:18px;border-top:1px solid;border-left:1px solid}.visual:after{bottom:18px;right:18px;border-bottom:1px solid;border-right:1px solid}.visual-label{color:#81745e;text-align:center}.visual-label span{display:block;font:10px Arial,sans-serif;letter-spacing:2px;text-transform:uppercase}.visual-label p{font-size:21px;font-style:italic;margin:9px}.caption{display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line);font:9px Arial,sans-serif;letter-spacing:1.7px;color:var(--muted);text-transform:uppercase}.section{padding:86px 0;border-bottom:1px solid var(--line)}.split{display:grid;grid-template-columns:1fr 1.1fr;gap:95px}h2{font-size:44px;line-height:1.16;font-weight:400;letter-spacing:-1px;margin:15px 0 23px}p{margin:0 0 20px}.body-copy{color:var(--muted);font-size:17px}.principles{margin-top:34px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.principle{border-top:1px solid var(--line);padding-top:20px}.number{font:10px Arial,sans-serif;letter-spacing:1px;color:var(--gold)}h3{font-size:22px;font-weight:400;margin:11px 0}.principle p{font-size:14px;color:var(--muted);line-height:1.6}.quote{font-size:29px;line-height:1.4;font-style:italic;border-left:2px solid var(--gold);padding-left:27px;margin:34px 0 0}.dark{background:var(--dark);color:#eee5d4;margin-top:65px;padding:57px;display:grid;grid-template-columns:1.4fr 1fr;gap:70px}.dark .eyebrow{color:#c0a478}.dark h2{font-size:35px}.dark p{color:#c4c2b3;font-size:16px}.member-box{border:1px solid #646657;padding:27px;align-self:center}.small{font-size:11px;line-height:1.8}.status{color:#c0a478;font:9px Arial,sans-serif;letter-spacing:1.8px;text-transform:uppercase}.contact{display:grid;grid-template-columns:1fr 1fr;gap:95px}.contact-panel{padding:32px;border:1px solid var(--line);background:#eae1d1}.contact-panel h3{margin-top:0}.contact-panel p{color:var(--muted);font-size:15px}.contact-panel .button{width:100%}.note{margin-top:15px!important;font:var(--type-small)/1.6 var(--font-ui)}details{border-top:1px solid var(--line);padding:18px 0}summary{cursor:pointer;font-size:12px}details p{font-size:14px;color:var(--muted);padding-top:15px}footer{padding:30px 0 38px;font-size:10px;color:var(--muted)}.footer-inner{display:flex;justify-content:space-between;gap:20px}dialog{max-width:440px;width:calc(100% - 32px);border:1px solid var(--gold);background:var(--paper);color:var(--ink);padding:35px}dialog::backdrop{background:#201c17aa}dialog h2{font-size:30px}dialog p{color:var(--muted)}@media(max-width:760px){.header{padding-top:22px;padding-bottom:22px;flex-direction:column;gap:23px}nav{gap:18px;font-size:10px}.hero{padding-top:44px}h1{letter-spacing:-1.5px}.intro{font-size:16px}.visual{height:290px}.caption{font-size:7px;gap:15px}.split,.contact,.dark{grid-template-columns:1fr;gap:26px}.section{padding:56px 0}h2{font-size:36px}.principles{grid-template-columns:1fr;gap:10px}.dark{padding:30px;margin-top:40px}.text-link{margin-left:18px}.footer-inner{flex-direction:column;gap:10px}.quote{font-size:25px}}
.brand-emblem{width:66px;height:66px;object-fit:contain;flex-shrink:0;border:1px solid #c5b28d;border-radius:3px}.story-emblem{display:block;width:min(100%,320px);height:auto;margin-top:28px;border:1px solid #c5b28d;border-radius:3px}@media(max-width:760px){.story-emblem{width:min(100%,260px);margin:25px auto 5px}.brand-emblem{width:60px;height:60px}}
.fellowship-logo{display:block;width:min(100%,340px);height:auto;margin-top:28px}@media(max-width:760px){.fellowship-logo{width:min(100%,280px);margin:25px auto 5px}}
.restoration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:35px}.restoration-card{border:1px solid var(--line)}.pipe-placeholder{aspect-ratio:4/3;background:#e3d8c5;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:13px;padding:20px;color:var(--muted)}.placeholder-title{font-size:23px;font-style:italic}.restoration-caption{padding:24px}.restoration-caption p{font-size:14px;color:var(--muted);margin:0}.gallery-notice{border-left:2px solid var(--gold);padding-left:18px;font-size:14px}nav{flex-wrap:wrap;justify-content:center;gap:20px}@media(max-width:900px){.restoration-grid{grid-template-columns:1fr}.pipe-placeholder{aspect-ratio:16/9}.header{flex-wrap:wrap;justify-content:center;padding-top:20px;padding-bottom:20px}}
.hero{padding-top:35px}.hero-club-logo{display:block;width:210px;height:auto;margin:0 auto 26px}.brand-emblem{width:78px;height:78px;border:0;border-radius:0}.brand-name{font-size:21px}.brand-sub{letter-spacing:1.6px}.intro{max-width:650px}nav{gap:16px}.dark{margin-bottom:25px}@media(max-width:760px){.hero-club-logo{width:175px}.brand-emblem{width:72px;height:72px}.brand-name{font-size:21px}}

nav a[aria-current="page"]{color:#765a32;text-decoration:underline;text-underline-offset:7px}.page-heading{padding:65px 0 0}.page-heading h1{font-size:clamp(40px,5vw,64px);margin:15px 0 18px}.page-heading p{max-width:670px;color:var(--muted)}.page-heading .eyebrow{color:var(--gold)}.page-heading+.section{padding-top:45px}.page-links{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.page-links article{border-top:1px solid var(--line);padding-top:25px}.page-links p{color:var(--muted)}.page-links .text-link{margin-left:0}.join-banner{background:var(--dark);color:var(--paper);padding:45px;margin-bottom:45px}.join-banner p{max-width:650px;color:#d0c9b9}.join-banner .button{border-color:#a18e6e}.skip-link{position:absolute;left:16px;top:-100px;z-index:10;background:var(--paper);padding:12px}.skip-link:focus{top:10px}.member-page{padding-bottom:60px}@media(max-width:760px){.page-links{grid-template-columns:1fr}.page-heading{padding-top:40px}.join-banner{padding:28px}}

/* Fellowship artwork replaces the home hero placeholder. */
.hero{padding-top:64px}.fellowship-hero-art{height:clamp(360px,54vw,660px);background-color:#e5d7bc;background-image:url('/assets/fellowship-embroidered-hero-cutout.png');background-size:contain;background-position:center;background-repeat:no-repeat;border:1px solid #c6b89f}.fellowship-hero-art:before,.fellowship-hero-art:after{display:none}@media(max-width:760px){.hero{padding-top:42px}.fellowship-hero-art{height:auto;aspect-ratio:1/1;margin-top:34px}}



/* Individual silhouettes displayed directly from the supplied 4-by-4 reference sheet. */
.pipe-silhouette{display:block;width:96px;height:73px;flex-shrink:0;background-image:url('/assets/pipe-silhouettes.jpg');background-repeat:no-repeat;background-size:400% 400%;mix-blend-mode:multiply;margin:0 0 14px;pointer-events:none}.page-links .pipe-silhouette+h3,.principle .pipe-silhouette+h3{margin-top:0}.dark .pipe-silhouette{filter:invert(1);mix-blend-mode:screen}.contact-panel .pipe-silhouette{margin-bottom:12px}
.pipe-style-0{background-position:0.00000% 0.00000%;}
.pipe-style-1{background-position:33.33333% 0.00000%;}
.pipe-style-2{background-position:66.66667% 0.00000%;}
.pipe-style-3{background-position:100.00000% 0.00000%;}
.pipe-style-4{background-position:0.00000% 33.33333%;}
.pipe-style-5{background-position:33.33333% 33.33333%;}
.pipe-style-6{background-position:66.66667% 33.33333%;}
.pipe-style-7{background-position:100.00000% 33.33333%;}
.pipe-style-8{background-position:0.00000% 66.66667%;}
.pipe-style-9{background-position:33.33333% 66.66667%;}
.pipe-style-10{background-position:66.66667% 66.66667%;}
.pipe-style-11{background-position:100.00000% 66.66667%;}
.pipe-style-12{background-position:0.00000% 100.00000%;}
.pipe-style-13{background-position:33.33333% 100.00000%;}
.pipe-style-14{background-position:66.66667% 100.00000%;}
.pipe-style-15{background-position:100.00000% 100.00000%;}
/* Tint the source silhouettes while keeping their white surround visually transparent. */
.pipe-silhouette{position:relative;isolation:isolate;--pipe-tone:#96774d}
.pipe-silhouette::after{content:"";position:absolute;inset:0;background:var(--pipe-tone);mix-blend-mode:screen}
.pipe-style-6,.pipe-style-4,.pipe-style-7{--pipe-tone:#626b4d}
.pipe-style-11,.pipe-style-14{--pipe-tone:#785b42}
.dark .pipe-silhouette{filter:invert(1) sepia(.6) brightness(.85);mix-blend-mode:screen}
.dark .pipe-silhouette::after{display:none}
/* Heritage text palette: darker tones maintain readable contrast on parchment. */
:root{--text-brass:#785d37;--text-olive:#515b40;--text-walnut:#684c36}
body{color:#443b30}
h1,h2,.brand-name{color:var(--text-walnut)}
h1 em,h3,summary{color:var(--text-olive)}
.eyebrow,.number,.brand-sub{color:var(--text-brass)}
.body-copy,.intro,.principle p,.page-links p,.restoration-caption p,.contact-panel p,details p{color:#665846}
.text-link,.restoration-inquiry a,.contact-panel .note a{color:var(--text-brass)}
nav a{color:var(--text-olive)}nav a[aria-current="page"]{color:var(--text-walnut)}
.page-links article:nth-child(3n+1) h3,.principle:nth-child(3n+1) h3{color:var(--text-brass)}
.page-links article:nth-child(3n+3) h3,.principle:nth-child(3n+3) h3{color:var(--text-walnut)}
.caption,footer{color:var(--text-olive)}
.dark h2,.dark h3,.join-banner h2{color:#eee5d4}
.dark .eyebrow,.dark .status,.join-banner .eyebrow{color:#d0b68c}
.dark a{color:#e6cfaa}
.button,.contact-panel .button,.join-banner .button{color:#f7f0e2}
/* Progressive enhancement: content stays visible without JavaScript. */
.scroll-reveal{transition:opacity .65s ease,transform .65s cubic-bezier(.2,.65,.3,1);transition-delay:var(--reveal-delay,0ms)}
.scroll-reveal.is-waiting{opacity:0;transform:translateY(22px)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scroll-reveal,.scroll-reveal.is-waiting{opacity:1;transform:none;transition:none}}

/* Softer shapes echo the curves of the club's pipe artwork. */
:root{--panel-radius:28px;--button-shadow:0 5px 12px #302a2226,0 2px 3px #302a2214}
.button,.nav-member{border-radius:999px;box-shadow:var(--button-shadow);transition:background-color .2s ease,box-shadow .2s ease,transform .2s ease}
.button:hover,.nav-member:hover{box-shadow:0 8px 18px #302a2233,0 3px 5px #302a2214;transform:translateY(-2px)}
.button:active,.nav-member:active{transform:translateY(0);box-shadow:0 2px 5px #302a2226}
.nav-member{background:#eae1d1}
.visual,.contact-panel,.dark,.join-banner,dialog{border-radius:var(--panel-radius)}
.member-box,.restoration-card{border-radius:20px}
.restoration-card{overflow:hidden}
.join-banner,.dark{box-shadow:0 12px 28px #302a2214}
.page-links article,.principle{border:1px solid var(--line);border-radius:22px;padding:26px;background:#ede4d5}
.section{position:relative;border-bottom:0}
.section::after{content:"";position:absolute;bottom:0;left:0;right:0;height:24px;border-bottom:1px solid var(--line);border-radius:0 0 50% 50%;pointer-events:none}
.caption{border-bottom:0;position:relative;padding-bottom:25px}
.caption::after{content:"";position:absolute;bottom:0;left:0;right:0;height:20px;border-bottom:1px solid var(--line);border-radius:0 0 50% 50%;pointer-events:none}
.section+.join-banner{margin-top:36px}
@media(max-width:760px){:root{--panel-radius:22px}.page-links article,.principle{padding:23px}.section::after{height:16px}.section+.join-banner{margin-top:28px}}
@media(prefers-reduced-motion:reduce){.button,.nav-member{transition:none}.button:hover,.nav-member:hover{transform:none}}
.member-card{padding:32px;margin:25px 0;border:1px solid var(--line);border-radius:24px;background:#eae1d1}.member-card h2{font-size:32px}.account-bar,.action-row{display:flex;gap:18px;flex-wrap:wrap;align-items:center;justify-content:space-between}.action-row{justify-content:flex-start}.member-card label{display:block;margin:18px 0 7px;font-family:Arial,sans-serif;font-size:14px}.member-card input:not([type=hidden]),.member-card textarea{display:block;width:100%;padding:12px;font:16px/1.5 Georgia,serif;border:1px solid #a99a81;border-radius:10px;background:#faf5eb;color:var(--ink)}.member-card form>.button{margin-top:18px}.small-button{padding:10px 17px}.status-badge{font:12px Arial,sans-serif;text-transform:uppercase;letter-spacing:1px;color:var(--text-olive)}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.club-update{padding:22px 0;border-top:1px solid var(--line)}@media(max-width:600px){.member-card{padding:22px}.account-bar{font-size:13px}}
.brand-emblem{mix-blend-mode:multiply}

.blend-month,.past-meeting{border-top:1px solid var(--line)}
.blend-month>summary,.past-meeting>summary{display:list-item;padding:.6rem 0;cursor:pointer;font-size:1rem;font-weight:600}
.blend-month>ul,.past-meeting>ul{margin:0 0 .75rem;padding-left:1.75rem}

.meeting-invite{margin:1rem 0}.meeting-invite img{display:block;width:min(100%,18rem);height:auto}.meeting-invite figcaption{margin-top:.4rem}

.jacket-photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:1rem}.jacket-photos figure{margin:0}.jacket-photos img{display:block;width:100%;height:auto;border-radius:.5rem}.jacket-photos figcaption{margin-top:.4rem}

.jacket-guide{border-top:1px solid var(--line)}.jacket-guide>summary{padding:.6rem 0;font-size:1rem;font-weight:600}.jacket-guide li{margin:.35rem 0}

.cozy-scene{margin:0 0 2rem;overflow:hidden;border-radius:24px;box-shadow:0 12px 28px rgba(48,42,34,.16)}
.cozy-scene img{display:block;width:100%;height:auto;max-height:420px;object-fit:cover;object-position:center 65%}
.cozy-compact img{height:clamp(180px,28vw,300px);object-position:center 67%}
@media(max-width:600px){.cozy-scene{border-radius:16px;margin-bottom:1.5rem}.cozy-scene img{max-height:280px}.cozy-compact img{height:190px}}

.home-autumn img{object-position:center 36%}

.page-links article,.principles-centered .principle{text-align:center}
.page-links .pipe-silhouette,.principles-centered .pipe-silhouette{margin-left:auto;margin-right:auto}


/* Shared typography across public pages, member content, and organizer forms. */
:root{
 --font-reading:Georgia,'Times New Roman',serif;
 --font-ui:Arial,Helvetica,sans-serif;
 --type-body:1rem;
 --type-small:.875rem;
 --type-label:.75rem;
 --type-title:clamp(2.5rem,5vw,4rem);
 --type-section:clamp(1.875rem,3.5vw,2.5rem);
 --type-card:1.5rem;
}
body{font-family:var(--font-reading);font-size:var(--type-body);line-height:1.7}
h1,.page-heading h1{font-family:var(--font-reading);font-size:var(--type-title);font-weight:400;line-height:1.12;letter-spacing:-.025em}
h2,.dark h2,.member-card h2,dialog h2{font-family:var(--font-reading);font-size:var(--type-section);font-weight:400;line-height:1.2;letter-spacing:-.02em}
h3{font-family:var(--font-reading);font-size:var(--type-card);font-weight:400;line-height:1.3}
.intro,.body-copy,.principle p,.page-links p,.contact-panel p,.restoration-caption p,.gallery-notice,.dark p,details p{
 font-family:var(--font-reading);font-size:var(--type-body);line-height:1.7;
}
nav,.button,.text-link,.member-card label,.small,.account-bar,footer,figcaption{
 font-family:var(--font-ui);font-size:var(--type-small);line-height:1.6;
}
.button,.text-link{font-weight:600;letter-spacing:.02em}
summary,.blend-month>summary,.past-meeting>summary,.jacket-guide>summary{
 font-family:var(--font-ui);font-size:var(--type-body);font-weight:600;line-height:1.5;
}
.eyebrow,.brand-sub,.caption,.status,.status-badge,.number{
 font-family:var(--font-ui);font-size:var(--type-label);line-height:1.5;letter-spacing:.1em;
}
.brand-name{font-family:var(--font-reading);font-size:1.375rem;line-height:1.2}
.member-card input:not([type=hidden]),.member-card textarea,.member-card select{
 font-family:var(--font-reading);font-size:var(--type-body);line-height:1.5;
}
nav{flex-wrap:wrap;justify-content:flex-end;gap:12px 20px}
@media(max-width:900px){nav{justify-content:center}}

/* Keep the correspondence card snug around its content. */
.contact-panel{align-self:start;text-align:center}
.contact-panel>:last-child{margin-bottom:0}

/* Match the connection heading to the home hero typography. */
.connection-heading{text-align:center}
.connection-heading .eyebrow{margin:0 0 20px}
.connection-heading h2{font-family:var(--font-reading);font-size:var(--type-title);font-weight:400;line-height:1.12;letter-spacing:-.025em;color:var(--text-walnut);margin:0 auto 25px}
.connection-heading h2 em{font-weight:400;color:var(--text-olive)}

/* Center the invitation content, including its constrained-width paragraph. */
.join-banner{text-align:center}
.join-banner p{margin-left:auto;margin-right:auto}

/* Align the About introduction with the Home hero styling. */
.about-heading,.contact-heading,.gallery-heading{text-align:center}
.about-heading .eyebrow,.contact-heading .eyebrow,.gallery-heading .eyebrow{max-width:none;margin:0 0 20px;color:var(--text-brass)}
.about-heading h1,.contact-heading h1,.gallery-heading h1{margin:0 auto 25px;color:var(--text-walnut)}
.about-heading .intro,.contact-heading .intro,.gallery-heading .intro{max-width:650px;margin:0 auto 27px;color:#665846}

/* Echo the Home title accent in the fellowship purpose heading. */
.purpose-title-accent{color:var(--text-olive)}

/* Center the correspondence label and pipe within the contact card. */
.contact-panel>.eyebrow:first-child{display:block;text-align:center}
.contact-panel>.pipe-silhouette{margin-left:auto;margin-right:auto}

/* Show the complete fellowship gathering on Contact / Join. */
.contact-gathering img{height:auto;max-height:none;object-fit:contain}

.contact-panel .button{overflow-wrap:anywhere}

/* A compact serif tagline that follows the site’s traditional typography. */
.club-tagline{font-family:var(--font-reading);font-size:1rem;font-weight:400;line-height:1.4;letter-spacing:0;text-transform:none;color:var(--text-brass)}
.club-tagline em{font-weight:400;color:var(--text-olive)}
.footer-tagline{text-align:center}

/* Center the joining action across the full fellowship section. */
.fellowship-join-action{text-align:center;margin:28px 0}

/* Keep the gallery label, pipe, and title centered as one group. */
.restoration-heading{text-align:center;align-self:center}
.restoration-heading .eyebrow{display:block}
.restoration-heading .pipe-silhouette{margin:16px auto}
.restoration-heading h2{margin:0}

.social-buttons{display:grid;gap:12px;margin-top:18px}

.fellowship-values .principles{margin-top:0}

.fellowship-section-heading{text-align:center}

.member-page > .page-heading{text-align:center}

/* Keep navigation available while scrolling on every page. */
body > header{position:sticky;top:0;z-index:100;background:var(--paper);box-shadow:0 6px 18px #302a2214}
html{scroll-padding-top:calc(var(--site-header-height,150px) + 20px)}
@media(max-width:760px){
 .header{padding-top:12px;padding-bottom:12px;gap:12px}
 .header nav{flex-wrap:wrap;justify-content:center;gap:10px 16px}
}
