/* Campaign 02-06. 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}
