/* Campaign 01-09, six grouped photographs. Appended to the current parish theme; no homepage slider overrides. */
.organ-public-page { --campaign-ink:#233247; --campaign-gold:#b2965f; --campaign-wine:#792b3d; --campaign-line:#ded5c6; background:#fffdf8; }
.organ-public-page :is(#tablica,#projekt,#formularz,#jak-adoptowac,#kontakt-adopcja,#glosy,[id^="pozycja-"],[id^="glos-"]) { scroll-margin-top:calc(var(--header-height,90px) + 25px); }
.organ-public-page :is(button,a,select,input,textarea):focus-visible { outline:3px solid #957233; outline-offset:4px; }
.organ-public-page .campaign-section { padding:clamp(2.8rem,5.8vw,5.2rem) 0; }
.campaign-heading { color:var(--campaign-ink); font:500 clamp(2.1rem,4.15vw,3.65rem)/1.1 var(--font-serif); letter-spacing:-.035em; margin:0 0 1rem; }
.campaign-eyebrow { font-size:.72rem; line-height:1.5; font-weight:800; text-transform:uppercase; letter-spacing:.12em; }
.campaign-note { font-size:.86rem; line-height:1.65; color:#67615a; }
.campaign-actions { display:flex; align-items:center; gap:1.15rem; flex-wrap:wrap; margin-top:1.8rem; }
.campaign-text-link { display:inline-flex; align-items:center; color:var(--campaign-wine); font-weight:750; text-underline-offset:5px; padding-block:.65rem; }
.campaign-hero { position:relative; isolation:isolate; overflow:hidden; background:#1b2430; color:#fff; }
.campaign-hero__image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:right 45%; z-index:-2; }
.campaign-hero::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(18,28,39,.97) 0%,rgba(18,28,39,.85) 42%,rgba(18,28,39,.2) 100%); }
.campaign-hero__inner { padding-block:2rem 4.2rem; }
.campaign-breadcrumb { display:flex; gap:.7rem; flex-wrap:wrap; align-items:center; color:#d6dce1; font-size:.78rem; margin-bottom:2.9rem; }
.campaign-breadcrumb a { color:inherit; text-underline-offset:4px; }
.campaign-hero .campaign-eyebrow { color:#e0cea7; }
.campaign-hero h1 { max-width:52rem; margin:.9rem 0 1.25rem; font:500 clamp(3rem,6vw,5.7rem)/1.03 var(--font-serif); letter-spacing:-.04em; color:#fff; }
.campaign-hero__lead { max-width:35rem; font-size:clamp(1rem,1.5vw,1.18rem); line-height:1.8; color:#e7e7e6; }
.campaign-hero__secondary { color:#fff; text-decoration:none; border-bottom:1px solid #c7b486; padding:.85rem 0; font-weight:650; }
.campaign-facts { background:#f0e9dc; border-bottom:1px solid #dfd4c0; }
.campaign-facts__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.campaign-facts__grid > div { display:flex; flex-direction:column; justify-content:center; text-align:center; padding:1.7rem .65rem; gap:.5rem; }
.campaign-facts__grid > div+div { border-left:1px solid #d9cdb8; }
.campaign-facts strong { font:500 clamp(1.75rem,3.3vw,3rem)/1.15 var(--font-serif); color:#753441; }
.campaign-facts span { color:#605a52; font-size:.84rem; }
.campaign-intro { display:grid; gap:3rem; align-items:center; }
.campaign-intro--photo { grid-template-columns:1.1fr .9fr; }
.campaign-intro p:not(.section-eyebrow) { line-height:1.85; margin:.9rem 0; }
.campaign-intro .campaign-note { border-left:3px solid #c1a574; padding:.2rem 0 .2rem 1rem; }
.campaign-scope-photo { margin:0; background:#eee6d8; border:1px solid #e0d7c7; border-radius:12px; overflow:hidden; }
.campaign-scope-photo a { position:relative; display:block; }
.campaign-scope-photo img { width:100%; display:block; aspect-ratio:3/2; object-fit:cover; }
.campaign-scope-photo a>span { position:absolute; bottom:.8rem; right:.8rem; font-size:.75rem; background:#1d2935ce; color:white; padding:.45rem .7rem; border-radius:30px; }
.campaign-scope-photo figcaption { font-size:.8rem; padding:.9rem 1rem; color:#4d4841; }
.campaign-scope-photo figcaption>span { color:var(--campaign-wine); font-weight:850; margin-right:.4rem; }
.campaign-board-section { background:#f4efe5; border-block:1px solid #e8dfd0; }
.campaign-board-heading { display:flex; justify-content:space-between; gap:2rem; align-items:flex-end; margin-bottom:1.8rem; }
.campaign-board-heading p { max-width:44rem; line-height:1.75; margin:.5rem 0; }
.campaign-board-heading>a { flex-shrink:0; }
.campaign-progress { padding:1.4rem 1.6rem 1.1rem; background:#fffdf8; border:1px solid #d9ccb6; border-radius:12px; }
.campaign-progress__numbers { display:flex; gap:2rem; align-items:center; flex-wrap:wrap; }
.campaign-progress__numbers p { font-size:.86rem; color:#625b51; margin:0; }
.campaign-progress__numbers strong { display:block; color:var(--campaign-wine); font:500 2.5rem/1.25 var(--font-serif); margin:.2rem 0 .6rem; }
.campaign-progress__numbers small { font:400 1.25rem var(--font-serif); color:#756d62; }
.campaign-refresh { margin-left:auto; border:1px solid #d9cfbd; background:transparent; min-height:44px; padding:.55rem .85rem; border-radius:30px; cursor:pointer; font:600 .8rem var(--font-sans); color:#614d2a; }
.campaign-refresh:disabled { opacity:.6; cursor:wait; }
.campaign-progress progress { width:100%; height:10px; border:0; border-radius:20px; background:#e8dfd0; overflow:hidden; display:block; color:var(--campaign-wine); }
.campaign-progress progress::-webkit-progress-bar { background:#e8dfd0; border-radius:20px; }
.campaign-progress progress::-webkit-progress-value { background:var(--campaign-wine); border-radius:20px; transition:width .2s; }
.campaign-progress progress::-moz-progress-bar { background:var(--campaign-wine); border-radius:20px; }
.campaign-progress__note { font-size:.79rem; color:#686056; margin:.7rem 0 0; }
.campaign-board-toolbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin:1.4rem 0; }
.campaign-legend { display:flex; gap:1.3rem; flex-wrap:wrap; font-size:.8rem; }
.campaign-legend>span { display:flex; align-items:center; gap:.55rem; }
.pipe-legend-icon { display:inline-grid; width:14px; height:25px; border:1.5px solid #927c55; border-radius:5px 5px 2px 2px; place-items:center; font-style:normal; background:transparent; }
.pipe-legend-icon.is-adopted { background:#79443f; border-color:#79443f; color:#fff; font-size:.65rem; }
.campaign-group-nav { display:flex; gap:.35rem; }
.campaign-group-nav a { display:grid; place-items:center; min-width:42px; min-height:42px; border:1px solid #cdbc9f; border-radius:50%; font-weight:750; text-decoration:none; color:#684f32; font-size:.8rem; }
.campaign-group-nav a:hover { background:white; }
.campaign-price-notice { background:#eae1d0; border-radius:8px; padding:1rem 1.2rem; color:#514639; font-size:.85rem; line-height:1.7; margin:0 0 1.6rem; }
.campaign-price-notice span { display:block; margin-top:.35rem; }
.campaign-group { display:grid; grid-template-columns:minmax(0,.74fr) minmax(0,1.26fr); overflow:hidden; border:1px solid #dacfbc; border-radius:14px; background:#fffdf8; margin-bottom:1.65rem; box-shadow:0 7px 22px #44362005; }
.campaign-group__story { background:#eee6d9; border-right:1px solid #dacfbc; }
.campaign-group__eyebrow { display:flex; gap:.7rem; justify-content:space-between; align-items:center; font-size:.65rem; color:#645440; padding:.85rem 1.1rem; background:#e4d9c6; text-transform:uppercase; letter-spacing:.04em; }
.campaign-group__eyebrow span:first-child { font-weight:850; white-space:nowrap; }
.campaign-group__eyebrow span:last-child { text-align:right; }
.campaign-group__photo { display:block; position:relative; background:#e5dccd; padding:.75rem; }
.campaign-group__photo img { width:100%; height:260px; object-fit:contain; display:block; }
.campaign-group__photo>span { position:absolute; bottom:1.25rem; right:1.25rem; border-radius:30px; background:#142330c9; color:white; padding:.4rem .65rem; font-size:.7rem; }
.campaign-group__copy { padding:1.15rem 1.35rem 1.5rem; }
.campaign-group__copy h3 { font:500 1.75rem/1.14 var(--font-serif); letter-spacing:-.02em; margin:0 0 .8rem; color:#233247; }
.campaign-group__copy>p { font-size:.85rem; line-height:1.78; color:#5a5147; margin:0 0 1.15rem; }
.campaign-group__amount { display:flex; justify-content:space-between; align-items:end; border-top:1px solid #d0bea1; padding-top:1rem; gap:.75rem; }
.campaign-group__amount>div>span { display:block; font-size:.69rem; color:#69583e; }
.campaign-group__amount strong { font:500 2.2rem/1.15 var(--font-serif); color:#75333a; display:block; margin-top:.25rem; }
.campaign-group__amount>span { text-align:right; font-size:.76rem; line-height:1.6; color:#675a49; }
.campaign-group__registers { padding:1.5rem 1.6rem 1rem; align-self:start; }
.campaign-register+.campaign-register { border-top:1px solid #dfd5c3; padding-top:1.35rem; margin-top:1.35rem; }
.campaign-register__header { display:flex; align-items:start; justify-content:space-between; gap:.6rem; margin-bottom:1rem; }
.campaign-register h4 { margin:0; color:#243449; font:500 1.6rem/1.15 var(--font-serif); }
.campaign-register__header p { margin:.35rem 0 0; font-size:.77rem; color:#716556; }
.campaign-register__price { text-align:right; max-width:12rem; }
.campaign-register__price span { font-size:.64rem; color:#736049; display:block; }
.campaign-register__price strong { display:block; font:600 1.15rem var(--font-sans); color:#754335; margin-top:.25rem; }
.campaign-pipes { display:grid; grid-template-columns:repeat(9,minmax(0,1fr)); gap:7px; }
.campaign-pipe { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:5px; min-width:0; min-height:60px; padding:7px 2px; background:#fffdfa; border:1px solid #d4c5a7; border-radius:7px; color:#674d2c; cursor:pointer; transition:background-color .15s,border-color .15s,box-shadow .15s; }
.campaign-pipe:hover { background:#f0e5d0; border-color:#9c7d42; }
.campaign-pipe__icon { display:grid; place-items:center; width:12px; height:21px; border:1.4px solid currentColor; border-radius:4px 4px 1px 1px; font-size:10px; line-height:1; position:relative; }
.campaign-pipe__icon::after { content:''; position:absolute; bottom:3px; left:1px; right:1px; border-top:1px solid currentColor; }
.campaign-pipe__number { font:700 .7rem/1 var(--font-sans); letter-spacing:.02em; }
.campaign-pipe--adopted { background:#e8ddd2; border-color:#c9b39a; color:#723f3a; }
.campaign-pipe--adopted .campaign-pipe__icon { color:#fff; background:#79443f; border-color:#79443f; }
.campaign-pipe--adopted .campaign-pipe__icon::after { content:none; }
.campaign-pipe--unknown { border-style:dashed; opacity:.67; }
.campaign-pipe.is-selected { background:#223b42; color:#fff; border-color:#223b42; box-shadow:0 0 0 2px #a3b8ab; }
.campaign-register__totals { margin:.65rem 0 0; font-size:.73rem; color:#6c6256; }
.campaign-register__totals [aria-hidden] { margin:0 .4rem; }
.campaign-group__help { font-size:.75rem; color:#756b60; line-height:1.65; margin:1.2rem 0 0; }
.campaign-register__message { padding:.7rem .85rem; background:#f0e6d4; border-radius:6px; font-size:.78rem; color:#614322; line-height:1.6; }
.campaign-board-footnote { font-size:.84rem; line-height:1.7; color:#736759; }
.campaign-form-section { background:#fffdf8; }
.campaign-form-layout { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:2rem; align-items:start; }
.campaign-selection { border-left:3px solid #b2965f; padding:1rem 0 1rem 1.7rem; }
.campaign-selection .campaign-heading { font-size:clamp(2rem,3vw,2.7rem); }
.campaign-selection>img { width:100%; max-height:240px; object-fit:contain; background:#ece2d1; border-radius:8px; margin:1.3rem 0; }
.campaign-selection__name { margin:.8rem 0 .3rem; font:500 1.8rem/1.2 var(--font-serif); }
.campaign-selection__price-label { font-size:.8rem; color:#786144; margin-top:1.25rem; }
.campaign-selection__price { font:500 2.4rem/1.1 var(--font-serif); color:#79353c; }
.campaign-form-card { padding:2rem; background:#f5efe5; border:1px solid #dfd2bd; border-radius:14px; }
.campaign-form-card h2 { margin:0 0 1rem; font:500 2.35rem/1.15 var(--font-serif); color:var(--campaign-ink); }
.campaign-form-card>p { font-size:.92rem; line-height:1.7; color:#5e574e; }
.campaign-form { display:grid; gap:1rem; margin-top:1.5rem; }
.campaign-form label { display:grid; gap:.5rem; font-size:.85rem; font-weight:700; color:#433d35; }
.campaign-form :is(input:not([type=checkbox]),select,textarea) { min-width:0; width:100%; min-height:47px; border:1px solid #cdbc9f; background:#fffdf8; padding:.75rem .85rem; border-radius:7px; font:400 16px/1.4 var(--font-sans); color:#233247; }
.campaign-form :is(input,select,textarea):disabled { background:#ebe6df; opacity:.7; cursor:not-allowed; }
.campaign-form__row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.campaign-form .campaign-consent { display:grid; grid-template-columns:20px minmax(0,1fr); align-items:start; gap:.8rem; font-size:.8rem; font-weight:400; line-height:1.7; }
.campaign-consent input { width:20px; height:20px; accent-color:var(--campaign-wine); margin-top:.2rem; }
.campaign-submit { width:100%; min-height:50px; }
.campaign-submit:disabled { opacity:.6; cursor:not-allowed; }
.campaign-step-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.8rem; margin-top:2rem; }
.campaign-step-grid article { border-top:2px solid #b7a078; padding:1.3rem 0 0; }
.campaign-step-grid article>span { font-size:.8rem; font-weight:850; letter-spacing:.1em; color:#a08147; }
.campaign-step-grid h3 { color:#263549; font:500 1.6rem/1.2 var(--font-serif); margin:.9rem 0; }
.campaign-step-grid p { font-size:.92rem; color:#6a6157; line-height:1.8; }
.campaign-steps,.campaign-conservation { background:#f6f0e5; border-block:1px solid #e5daca; }
.campaign-contact-section { background:#efe8da; }
.campaign-contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:start; }
.campaign-contact-grid p { line-height:1.8; }
.campaign-contact-links { display:flex; flex-wrap:wrap; gap:.7rem 1.3rem; margin:1.2rem 0; }
.campaign-contact-links a { color:#663d31; text-underline-offset:4px; font-size:1rem; font-weight:650; overflow-wrap:anywhere; }
.campaign-transfer { border-radius:12px; background:#fffdf8; border:1px solid #d7c5a7; padding:1.5rem 1.7rem; box-shadow:0 8px 30px #40302208; }
.campaign-transfer .campaign-eyebrow { color:#866a3c; }
.campaign-transfer h3 { font:500 1.75rem/1.2 var(--font-serif); margin:.8rem 0; color:#223549; }
.campaign-transfer__account { font:650 clamp(1rem,1.65vw,1.35rem)/1.7 var(--font-sans); color:#72323b; padding:.7rem 0; margin:.3rem 0; overflow-wrap:anywhere; }
.campaign-transfer__label { font-size:.77rem; font-weight:700; color:#7b674d; margin:1.25rem 0 .25rem; }
.campaign-transfer__title { font-size:.95rem; line-height:1.7; margin:0 0 .6rem; }
.campaign-copy { display:inline-flex; gap:.6rem; align-items:center; justify-content:center; min-height:44px; border:1px solid #cbb898; border-radius:7px; padding:.6rem .9rem; color:#6b4b29; background:#f6eedf; cursor:pointer; font:650 .8rem var(--font-sans); }
.campaign-copy:disabled { cursor:not-allowed; opacity:.55; }
.campaign-keepsake { margin-top:2rem; border-top:1px solid #d4c4ac; padding-top:1.75rem; display:flex; gap:2rem; align-items:center; }
.campaign-keepsake>div { flex:1; }
.campaign-keepsake h3 { font:500 1.6rem var(--font-serif); color:#253448; margin:0 0 .7rem; }
.campaign-keepsake p { font-size:.87rem; line-height:1.75; margin:0; color:#675d50; }
.campaign-qr { display:flex; align-items:center; gap:1rem; color:#66543d; text-decoration:none; font-size:.78rem; }
.campaign-qr img { display:block; width:100px; height:100px; border:1px solid #d7c7ad; border-radius:7px; }
.campaign-qr strong { display:block; margin-top:.3rem; font-weight:650; }
.campaign-faq-grid { display:grid; grid-template-columns:1fr 1fr; gap:.85rem; margin-top:1.8rem; align-items:start; }
.campaign-faq details { border:1px solid #ded2be; border-radius:8px; padding:1rem 1.1rem; background:#faf5ec; }
.campaign-faq summary { cursor:pointer; color:#273648; font-weight:700; font-size:.95rem; }
.campaign-faq details p,.campaign-faq details a { font-size:.86rem; line-height:1.8; color:#655c50; }
.campaign-selection-dock { position:fixed; z-index:95; bottom:max(14px,env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); width:min(calc(100% - 28px),740px); display:flex; align-items:center; gap:1rem; background:#253b43; color:#fff; padding:.85rem 1.2rem; border-radius:12px; box-shadow:0 8px 34px #10182040; }
.campaign-selection-dock>div { flex:1; min-width:0; }
.campaign-selection-dock strong { display:block; font-size:.95rem; }
.campaign-selection-dock span { display:block; font-size:.72rem; color:#e1d4b6; margin-top:.2rem; }
.campaign-selection-dock>a { min-height:44px; font-size:.8rem; padding:.7rem 1rem; }
.campaign-selection-dock>button { width:32px; height:36px; border:0; background:none; color:#fff; cursor:pointer; font-size:1.5rem; }
.campaign-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.campaign-gallery figure { margin:0; min-width:0; border:1px solid #e0d6c7; border-radius:9px; overflow:hidden; background:#efe7da; }
.campaign-gallery figure>a { position:relative; display:block; padding:.5rem; }
.campaign-gallery img { display:block; width:100%; height:220px; object-fit:contain; }
.campaign-gallery a>span { position:absolute; bottom:.9rem; right:.9rem; background:#172c3ec9; color:#fff; border-radius:50%; width:30px; height:30px; display:grid; place-items:center; }
.campaign-gallery figcaption { font-size:.77rem; color:#594a36; padding:.6rem .75rem; min-height:2.5rem; background:#f6f1e7; }
.campaign-section-lead { max-width:47rem; color:#696054; line-height:1.8; }
.campaign-technical-list { border-top:1px solid #d8c8ae; }
.campaign-technical-card { display:grid; grid-template-columns:115px minmax(0,1fr) minmax(175px,.55fr); gap:1.5rem; padding:1.3rem 0; align-items:center; border-bottom:1px solid #d8c8ae; }
.campaign-technical-card>a { border-radius:8px; display:block; background:#eee6d8; overflow:hidden; }
.campaign-technical-card img { width:115px; height:130px; object-fit:contain; }
.campaign-technical-card .campaign-eyebrow { color:#93703c; font-size:.64rem; }
.campaign-technical-card h3 { font:500 1.8rem var(--font-serif); color:#27364a; margin:.25rem 0 .5rem; }
.campaign-technical-card p { font-size:.85rem; line-height:1.65; margin:.3rem 0; color:#6a5d4c; }
.campaign-technical-card__action { display:flex; flex-direction:column; gap:.45rem; align-items:flex-start; }
.campaign-technical-card__action small { color:#826841; font-size:.73rem; }
.campaign-technical-card__action strong { font:500 1.8rem var(--font-serif); color:#793b3f; }
.campaign-technical-card__action a { color:#723239; text-underline-offset:4px; font-size:.85rem; font-weight:750; padding-block:.25rem; }
.campaign-end { text-align:center; background:#253a43; color:#e9e5da; }
.campaign-end .campaign-heading { color:#fff; }
.campaign-end .section-eyebrow { color:#dcc89c; }
.campaign-end .campaign-actions { justify-content:center; }
.campaign-end .campaign-text-link { color:#f0d7a5; }
.no-js .campaign-selection-dock,.no-js .campaign-refresh { display:none; }
@media (max-width:1050px) {
 .campaign-group { grid-template-columns:1fr; }
 .campaign-group__story { border-right:0; border-bottom:1px solid #dacfbc; display:grid; grid-template-columns:40% 60%; }
 .campaign-group__eyebrow { grid-column:1/-1; }
 .campaign-group__copy { align-self:center; }
 .campaign-group__registers { padding:1.5rem; }
 .campaign-group__photo img { height:260px; }
 .campaign-register__header { align-items:center; }
 .campaign-intro--photo { gap:2rem; }
 .campaign-board-heading { flex-wrap:wrap; gap:.5rem; }
 .campaign-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .campaign-contact-grid { gap:1.75rem; }
}
@media (max-width:760px) {
 .campaign-hero__inner { padding-block:1.2rem 2.4rem; }
 .campaign-breadcrumb { margin-bottom:2rem; font-size:.72rem; }
 .campaign-hero::after { background:linear-gradient(90deg,rgba(18,28,39,.94),rgba(18,28,39,.7)); }
 .campaign-hero__image { object-position:55% center; }
 .campaign-hero h1 { font-size:clamp(2.6rem,8vw,3.8rem); }
 .campaign-facts strong { font-size:clamp(1.55rem,4.4vw,2.4rem); }
 .campaign-facts span { font-size:.67rem; line-height:1.55; }
 .campaign-facts__grid>div { padding:1.1rem .25rem; }
 .campaign-intro--photo,.campaign-form-layout,.campaign-contact-grid { grid-template-columns:1fr; }
 .campaign-intro--photo { gap:1.2rem; }
 .campaign-scope-photo img { max-height:275px; }
 .campaign-intro p:not(.section-eyebrow) { font-size:.94rem; }
 .campaign-form-layout { gap:1.2rem; }
 .campaign-selection { padding:.5rem 0 .5rem 1rem; }
 .campaign-selection .campaign-heading { font-size:2rem; }
 .campaign-selection>img { width:160px; max-height:160px; float:right; margin:0 0 .6rem .7rem; }
 .campaign-selection .campaign-text-link { clear:both; }
 .campaign-step-grid { grid-template-columns:1fr; gap:1rem; }
 .campaign-step-grid article { padding-top:1rem; }
 .campaign-step-grid h3 { margin:.5rem 0; }
 .campaign-step-grid p { margin:.6rem 0; }
 .campaign-faq-grid { grid-template-columns:1fr; }
 .campaign-keepsake { flex-wrap:wrap; }
 .campaign-keepsake>div { flex-basis:100%; }
 .campaign-technical-card { gap:1rem; grid-template-columns:95px minmax(0,1fr); }
 .campaign-technical-card img { width:95px; height:125px; }
 .campaign-technical-card__action { grid-column:2; }
 .campaign-technical-card h3 { font-size:1.55rem; }
}
@media (max-width:600px) {
 .campaign-section .container { width:calc(100% - 28px); }
 .campaign-hero__lead { font-size:.95rem; }
 .campaign-eyebrow { font-size:.64rem; }
 .campaign-actions { gap:1rem; margin-top:1.3rem; }
 .campaign-actions .button { min-height:46px; padding:.85rem 1rem; font-size:.86rem; }
 .campaign-hero__secondary { font-size:.84rem; }
 .campaign-heading { font-size:2.1rem; }
 .campaign-progress { padding:1rem; }
 .campaign-progress__numbers { column-gap:1.6rem; row-gap:.3rem; }
 .campaign-progress__numbers strong { font-size:2.25rem; }
 .campaign-refresh { width:100%; margin:.2rem 0 .6rem; min-height:40px; }
 .campaign-legend { gap:.6rem 1rem; font-size:.7rem; }
 .campaign-group-nav { width:100%; justify-content:space-between; }
 .campaign-group-nav a { min-width:44px; min-height:44px; }
 .campaign-price-notice { padding:.9rem 1rem; font-size:.8rem; }
 .campaign-group__story { display:block; }
 .campaign-group__eyebrow { font-size:.61rem; padding:.8rem 1rem; }
 .campaign-group__photo img { height:290px; }
 .campaign-group__copy { padding:1.1rem; }
 .campaign-group__copy h3 { font-size:1.8rem; }
 .campaign-group__copy>p { font-size:.83rem; }
 .campaign-group__registers { padding:1.15rem 1rem 1rem; }
 .campaign-register__header { gap:.6rem; flex-wrap:wrap; }
 .campaign-register__price { text-align:left; max-width:none; }
 .campaign-register h4 { font-size:1.5rem; }
 .campaign-pipes { grid-template-columns:repeat(6,minmax(0,1fr)); gap:7px; }
 .campaign-pipe { min-height:59px; }
 .campaign-form-card { padding:1.2rem; }
 .campaign-form__row { grid-template-columns:1fr; }
 .campaign-selection__name { font-size:1.4rem; }
 .campaign-selection__price { font-size:2rem; }
 .campaign-selection-dock { gap:.6rem; padding:.7rem .8rem; align-items:center; }
 .campaign-selection-dock strong { font-size:.76rem; }
 .campaign-selection-dock span { font-size:.64rem; }
 .campaign-selection-dock>a { font-size:.7rem; padding:.6rem .7rem; max-width:145px; text-align:center; }
 .campaign-selection-dock>button { width:24px; flex-shrink:0; }
 .campaign-transfer { padding:1.15rem; }
 .campaign-contact-grid { gap:1.2rem; }
 .campaign-contact-grid .campaign-heading br { display:none; }
 .campaign-gallery { gap:.65rem; }
 .campaign-gallery img { height:170px; }
 .campaign-gallery figcaption { font-size:.7rem; }
 .campaign-board-heading p { font-size:.9rem; }
 .campaign-board-heading .campaign-text-link { font-size:.84rem; }
}
@media (max-width:365px) {
 .campaign-pipes { grid-template-columns:repeat(5,minmax(0,1fr)); }
 .campaign-selection>img { width:120px; max-height:130px; }
 .campaign-facts strong { font-size:1.4rem; }
}
@media (prefers-reduced-motion:reduce) {
 .campaign-pipe,.campaign-progress progress::-webkit-progress-value { transition:none; }
}
@media print {
 .campaign-selection-dock,.campaign-form-section,.campaign-group-nav,.campaign-refresh { display:none!important; }
 .campaign-group { break-inside:avoid; }
}

@media(max-width:600px){.campaign-group__photo img{height:auto;max-height:360px}.campaign-group-nav a{min-width:44px;min-height:44px}}

.campaign-progress__percent{text-align:right;font-size:.78rem;color:#6b5540;margin:.45rem 0 0}.campaign-progress__percent span{font-weight:750}.campaign-how-work{margin-top:2rem;border:1px solid #dacfbc;border-radius:12px;background:#fffdf8}.campaign-how-work>summary{padding:1.2rem 1.4rem;font-weight:700;cursor:pointer;color:#233247}.campaign-how-work .campaign-step-grid{padding:0 1.3rem 1.3rem}.campaign-how-work article img{width:100%;height:160px;object-fit:cover;border-radius:8px;margin-bottom:1rem}.campaign-how-work article>h3{font-size:1.4rem}.campaign-how-work article>p{font-size:.85rem}

/* Public parish edition: one photograph and one price per group. */
.organ-public-page { --campaign-wine:#792b3d; }
.campaign-hero--adopt .campaign-hero__inner { padding-bottom:3rem; }
.campaign-hero--adopt .campaign-breadcrumb { margin-bottom:1.8rem; }
.campaign-hero--adopt h1 { font-size:clamp(2.5rem,5.2vw,4.7rem); }
.campaign-group { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); border-radius:16px; background:#fffdfa; box-shadow:0 12px 34px #34271508; }
.campaign-group__story { display:flex; flex-direction:column; padding:0; background:#eae3d7; border-right:1px solid #ded3c0; border-bottom:0; }
.campaign-group__eyebrow { min-height:3rem; padding:.8rem 1.3rem; background:#e2d6c1; font-size:.69rem; }
.campaign-group__eyebrow span:first-child { letter-spacing:.12em; }
.campaign-group__photo { display:flex; align-items:center; flex:0 0 auto; margin-block:auto; padding:1.4rem; background:transparent; min-height:0; }
.campaign-group__photo img { display:block; width:100%; height:auto; max-height:520px; object-fit:contain; transition:filter .2s ease; }
.campaign-group__photo:hover img { filter:brightness(1.04); }
.campaign-group__photo>span { right:2rem; bottom:2rem; background:#172a3cd4; padding:.5rem .8rem; }
.campaign-group__photo-caption { padding:0 1.4rem 1.25rem; margin:0; color:#675b4b; font-size:.78rem; text-align:center; }
.campaign-group__registers { padding:1.65rem 1.8rem; }
.campaign-group__overview { display:flex; justify-content:space-between; align-items:flex-start; gap:1.2rem; padding-bottom:1.1rem; border-bottom:1px solid #e7dcc9; }
.campaign-group__overview h3 { margin:0; font:500 clamp(1.65rem,2.6vw,2.35rem)/1.13 var(--font-serif); letter-spacing:-.02em; color:#243447; }
.campaign-group__amount { display:block; border:0; padding:0; text-align:right; flex-shrink:0; }
.campaign-group__amount>span { display:block; text-align:right; font-size:.71rem; color:#77634b; }
.campaign-group__amount strong { margin:.25rem 0 0; font:500 clamp(1.8rem,3vw,2.6rem)/1 var(--font-serif); white-space:nowrap; color:#792b3d; }
.campaign-group__description { font-size:.86rem; line-height:1.8; color:#655e53; margin:1rem 0 1.4rem; }
.campaign-register__header { align-items:center; gap:1rem; }
.campaign-register__header h4 { font:650 1.04rem/1.3 var(--font-sans); }
.campaign-register__header p { margin:0; font-size:.71rem; text-align:right; }
.campaign-register+.campaign-register { padding-top:1.25rem; margin-top:1.25rem; }
.campaign-pipes { grid-template-columns:repeat(9,minmax(0,1fr)); gap:6px; }
.campaign-pipe { min-height:52px; padding:6px 2px; gap:4px; }
.campaign-pipe__icon { height:19px; width:11px; }
.campaign-group .campaign-register__totals { font-size:.72rem; margin-top:.7rem; }
.campaign-technical-card--simple { grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr) minmax(0,.7fr); }
.campaign-technical-card--simple h3 { font-size:1.55rem; }
.campaign-technical-measures { display:flex; gap:2rem; margin:0; }
.campaign-technical-measures dt { font-size:.72rem; color:#756550; margin-bottom:.3rem; }
.campaign-technical-measures dd { margin:0; color:#233247; font-size:1.05rem; font-weight:650; }
.campaign-technical-card--simple .campaign-technical-card__action { font-size:.77rem; color:#776a5c; }
.campaign-technical-card--simple .campaign-technical-card__action a { font-size:.82rem; }
/* A single, editorial fundraiser card; real links, no invented progress total. */
.organ-public-page .organ-fundraising { background:#fffdf8; }
.fundraising-card { border-radius:18px; border:1px solid #e0d5c1; grid-template-columns:minmax(0,1fr) minmax(0,1fr); box-shadow:0 20px 55px #2d20100a; }
.fundraising-card__photo { background:#122337; min-height:560px; }
.fundraising-card__photo img { height:100%; width:100%; object-fit:cover; object-position:center; transition:transform .5s ease; }
.fundraising-card__photo:hover img { transform:scale(1.025); }
.fundraising-card__photo-label { display:block; padding:5rem 4rem 2rem 2rem; background:linear-gradient(transparent,#0d1d30eb); font:500 clamp(1.8rem,3.6vw,3rem)/1.12 var(--font-serif); }
.fundraising-card__photo-label small { display:block; font:700 .65rem/1.5 var(--font-sans); text-transform:uppercase; letter-spacing:.14em; margin-bottom:.75rem; color:#ebd8b0; }
.fundraising-card__photo-label>span { position:absolute; right:1.6rem; bottom:1.6rem; font:400 1.8rem var(--font-sans); }
.fundraising-card__body { padding:2.1rem; background:#fcf8f0; }
.fundraising-card__body .section-eyebrow { font-size:.69rem; }
.fundraising-card h2 { font-size:clamp(2rem,3.7vw,3.5rem); }
.fundraising-card__lead { font-size:.91rem; }
.fundraising-card__goal { padding:1rem 0; }
.fundraising-card__goal>span { font-size:.75rem; }
.fundraising-card__goal>strong { font:500 1.5rem var(--font-serif); }
.fundraising-amounts a { min-height:46px; border-radius:7px; font-size:.91rem; transition:background .15s,border-color .15s; }
.fundraising-amounts a.is-selected { background:#792b3d; border-color:#792b3d; color:#fff; }
.fundraising-card__donate.button { border-radius:8px; min-height:54px; font-size:.93rem; transition:background .15s,transform .15s; }
.fundraising-card__donate:hover { transform:translateY(-1px); background:#5d2130; }
.fundraising-card__hint { font-size:.75rem; }
.fundraising-card__secondary { gap:1rem; }
.fundraising-card__secondary a,.fundraising-card__secondary button { min-height:32px; display:inline-flex; align-items:center; font-size:.76rem; }
.fundraising-card__share-status:empty { display:none; }
.fundraising-card__details { font-size:.78rem; margin-top:.5rem; }
.fundraising-card__details summary { padding:.25rem 0; }
@media(max-width:1100px) and (min-width:721px) {
 .campaign-group { grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); }
 .campaign-group__registers { padding:1.3rem; }
 .campaign-group__overview { flex-direction:column; gap:.7rem; }
 .campaign-group__amount,.campaign-group__amount>span { text-align:left; }
 .campaign-group__photo { padding:.8rem; }
 .campaign-group__photo>span { right:1rem; bottom:1rem; }
 .campaign-pipes { gap:5px; }
 .fundraising-card__body { padding:1.4rem; }
}
@media(max-width:850px) {
 .fundraising-card { grid-template-columns:1fr; }
 .fundraising-card__photo { min-height:0; height:clamp(240px,52vw,430px); }
 .fundraising-card__photo img { height:100%; }
 .fundraising-card__body { padding:1.8rem; }
}
@media(max-width:720px) {
 .campaign-group { grid-template-columns:1fr; }
 .campaign-group__story { border:0; border-bottom:1px solid #ded3c0; display:flex; }
 .campaign-group__photo { padding:1rem; min-height:0; }
 .campaign-group__photo img { max-height:330px; }
 .campaign-group__photo>span { right:1.4rem; bottom:1.4rem; font-size:.65rem; }
 .campaign-group__eyebrow { padding:.65rem 1rem; min-height:0; }
 .campaign-group__photo-caption { padding:0 1rem 1rem; font-size:.73rem; }
 .campaign-group__registers { padding:1.25rem 1rem; }
 .campaign-group__overview { gap:.7rem; }
 .campaign-group__overview h3 { font-size:1.75rem; }
 .campaign-group__amount strong { font-size:2rem; }
 .campaign-group__amount>span { font-size:.63rem; }
 .campaign-group__description { font-size:.82rem; }
 .campaign-register__header { flex-wrap:wrap; gap:.4rem; }
 .campaign-register__header p { text-align:left; font-size:.7rem; }
 .campaign-pipes { grid-template-columns:repeat(6,minmax(0,1fr)); gap:6px; }
 .campaign-pipe { min-height:54px; }
 .campaign-technical-card--simple { grid-template-columns:minmax(0,1fr) minmax(0,.8fr); }
 .campaign-technical-card--simple .campaign-technical-card__action { grid-column:1/-1; }
 .campaign-technical-measures { gap:1rem; justify-content:flex-end; flex-wrap:wrap; }
 .campaign-technical-measures dd { font-size:.92rem; }
 .fundraising-card__photo-label { padding:4rem 3.2rem 1.3rem 1.3rem; font-size:2rem; }
 .fundraising-card__body { padding:1.4rem; }
 .campaign-hero--adopt .campaign-hero__inner { padding-bottom:2.2rem; }
 .campaign-hero--adopt .campaign-breadcrumb { margin-bottom:1.6rem; }
 .campaign-facts__grid>div { padding-block:1rem; }
 .campaign-facts strong { font-size:2rem; }
 .campaign-facts span { font-size:.69rem; }
}
@media(max-width:359px) {
 .campaign-group__overview { flex-direction:column; }
 .campaign-group__amount,.campaign-group__amount>span { text-align:left; }
 .campaign-pipes { grid-template-columns:repeat(5,minmax(0,1fr)); }
 .fundraising-card__body { padding:1.1rem; }
 .fundraising-card__goal { display:block; }
 .fundraising-card__goal>strong { display:block; margin-top:.35rem; }
}
@media(prefers-reduced-motion:reduce) {
 .campaign-group__photo img,.fundraising-card__photo img,.fundraising-amounts a,.fundraising-card__donate { transition:none; }
 .fundraising-card__photo:hover img,.fundraising-card__donate:hover { transform:none; }
}

/* Release 20261022: complete groups, no hidden price labels or repeated per-register prices. */
.campaign-group-nav {flex-wrap:wrap;}
.campaign-group-nav a {border-radius:22px;min-width:44px;padding:.4rem .65rem;}
.campaign-register__material {font-size:.78rem;color:#6b6256;margin:-.4rem 0 .8rem;line-height:1.5;}
.campaign-group__photo img {height:auto;max-height:480px;object-fit:contain;}
.campaign-register__header {flex-wrap:wrap;}
.campaign-work-photo {display:block;width:100%;height:160px;object-fit:cover;border-radius:8px;margin-bottom:1rem;}
.campaign-gratitude {background:#eee6d6;border-block:1px solid #d8c9ad;}
.campaign-gratitude__grid {display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;}
.campaign-gratitude article {background:#fffdf8;border:1px solid #d2c2a2;border-radius:12px;padding:1.6rem;}
.campaign-gratitude article>span {font-size:1.7rem;color:#94723a;}
.campaign-gratitude h3 {font:500 1.75rem var(--font-serif);margin:.6rem 0;}
.campaign-gratitude p {line-height:1.7;}
@media(max-width:600px){
 .campaign-gratitude__grid {grid-template-columns:1fr;}
 .campaign-group-nav {gap:.35rem;}
 .campaign-group__registers {padding:1.1rem .8rem;}
 .campaign-pipes {gap:4px;grid-template-columns:repeat(9,minmax(0,1fr));}
 .campaign-pipe {min-height:54px;font-size:.75rem;}
 .campaign-group__overview {align-items:flex-start;}
 .campaign-group__amount {white-space:nowrap;}
}
