:root{--navy:#172e40;--ink:#1c2c36;--muted:#53616b;--gold:#d9b276;--line:#d7dce0;--paper:#f4f6f8;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;color-scheme:light;font-family:var(--sans);font-size:16px;color:var(--ink);background:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0}a{color:inherit;text-underline-offset:.25em}a:focus-visible{outline:3px solid #b77a2e;outline-offset:6px}img{display:block;width:100%;height:100%;object-fit:cover}p{line-height:1.75;margin:0 0 1.2rem}h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0}h2{font-size:clamp(2rem,3.4vw,3.25rem);line-height:1.18;letter-spacing:-.035em}h3{font-size:1.65rem;line-height:1.2;margin:1.2rem 0 .9rem}section[id]{scroll-margin-top:2rem}.skip-link{position:absolute;top:-100px;left:1rem;padding:1rem;background:#fff;z-index:10}.skip-link:focus{top:1rem}.header{max-width:1440px;margin:auto;padding:1.6rem 5.5%;display:flex;align-items:center;justify-content:space-between;gap:2rem}.wordmark{text-decoration:none;font-family:var(--serif);font-size:1.7rem;line-height:1.2}.wordmark span{display:block;font: .8rem var(--sans);letter-spacing:.08em;margin-top:.4rem;color:var(--muted)}nav{display:flex;gap:2.1rem;flex-wrap:wrap}nav a{font-size:.9rem;text-decoration:none;padding:.6rem 0;border-bottom:1px solid transparent}nav a:hover{border-bottom-color:var(--ink)}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:44% 56%;background:var(--navy);color:white;min-height:630px}.hero-copy{padding:4.5rem 10% 4rem 12.5%;align-self:center}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:600;line-height:1.5;margin-bottom:1.5rem}.hero .eyebrow{color:var(--gold)}h1{font-size:clamp(3.5rem,6.5vw,6.7rem);line-height:.96;letter-spacing:-.045em}.motto{font:italic clamp(1.8rem,2.6vw,2.6rem)/1.3 var(--serif);color:var(--gold);margin:1.3rem 0}.hero-intro{font-size:1.15rem;max-width:26rem;line-height:1.6}.candidacy{font-size:.875rem;line-height:1.6;color:#c9d4dc;margin:1.5rem 0}.button{display:inline-block;padding:.9rem 1.4rem;margin-top:.4rem;border:1px solid #9eb0bf;text-decoration:none;font-size:.875rem}.button:hover{background:#fff;color:var(--navy)}.hero-picture{min-width:0;position:relative}.hero-picture img{position:absolute;inset:0;object-position:62% 50%}.voting{max-width:1440px;margin:auto;padding:2.5rem 5.5%;display:grid;grid-template-columns:1.1fr 1fr 1fr 1.1fr;gap:2rem;align-items:center;background:var(--paper);border-bottom:1px solid var(--line)}.voting-title .eyebrow{font-size:.75rem;color:var(--muted)}.voting-title p{font-family:var(--serif);font-size:1.35rem;line-height:1.3;margin:.5rem 0 0}.number{display:flex;flex-direction:column;border-left:1px solid #c6cdd3;padding-left:2rem;gap:.4rem}.number strong{font:4.2rem/1 var(--serif);letter-spacing:-.06em;color:var(--navy)}.number span{font-size:.875rem}.list-info{font-size:.8rem;color:var(--muted);margin:0;line-height:1.7}.section{max-width:1280px;margin:auto;padding:6rem 5%}.values .lead{font-size:1.12rem;max-width:48rem;color:var(--muted);margin:1.8rem 0 3.5rem}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem}.principles article{border-top:1px solid var(--line);padding-top:1.2rem}.index{font-size:.85rem;color:#7c633d}.principles p{color:var(--muted);font-size:1rem}.story{max-width:1440px;margin:auto;background:var(--paper);display:grid;grid-template-columns:40% 60%}.story-picture{min-height:650px}.story-picture img{object-position:center}.story-copy{padding:4.5rem 10%;align-self:center}.story-copy h2{margin-bottom:1.8rem}.story-copy p:not(.eyebrow){color:var(--muted);max-width:38rem}blockquote{font:italic 1.45rem/1.5 var(--serif);border-left:2px solid #b58b4b;margin:2rem 0 0;padding-left:1.5rem}cite{display:block;font:normal .8rem/1.5 var(--sans);margin-top:1rem;color:var(--muted)}.contact{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:5rem}.contact p:not(.eyebrow){color:var(--muted);max-width:30rem}.email{display:inline-block;font-size:1.15rem;overflow-wrap:anywhere}footer{background:var(--navy);color:#fff;padding:2.6rem max(5.5%,calc((100vw - 1280px)/2));display:flex;gap:3rem;align-items:center;justify-content:space-between}.footer-name{font:1.7rem var(--serif);text-decoration:none}footer p{font-size:.8rem;margin:0;color:#d3dde3}.footer-numbers{font-family:var(--serif);font-size:1.5rem;line-height:1.35}.footer-numbers span{font: .75rem var(--sans);margin-left:.5rem}
@media(min-width:1500px){.hero,.story{max-width:1330px}.hero{min-height:680px}}
@media(max-width:1000px){.hero{grid-template-columns:48% 52%;min-height:590px}.hero-copy{padding:3rem 10%}.hero-picture img{object-position:65% center}.voting{grid-template-columns:1fr 1fr 1fr;gap:1rem}.list-info{grid-column:1/-1;border-top:1px solid var(--line);padding-top:1rem}.story-copy{padding:3rem 8%}.story{grid-template-columns:38% 62%}.principles{gap:1.8rem}.contact{gap:3rem}footer{gap:1.5rem;flex-wrap:wrap}}
@media(max-width:680px){.header{padding:1.2rem 6%;gap:1rem;align-items:flex-start;flex-direction:column}.wordmark{font-size:1.5rem}nav{gap:1.4rem}nav a{font-size:.85rem}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:2.8rem 7% 2.7rem}.hero .eyebrow{margin-bottom:1.2rem}h1{font-size:4.5rem;line-height:.96}.motto{margin:1rem 0}.hero-intro{max-width:24rem;margin-bottom:1rem}.candidacy{margin:1rem 0}.hero-picture{height:auto;aspect-ratio:1.35}.hero-picture img{object-position:center 42%}.voting{padding:1.8rem 7%;grid-template-columns:1fr 1fr;gap:1.5rem 1rem}.voting-title{grid-column:1/-1}.voting-title p{font-size:1.2rem}.voting-title p br{display:none}.number{padding-left:1rem}.number strong{font-size:4rem}.list-info{font-size:.8rem}.section{padding:3.5rem 7%}.values .lead{margin:1.5rem 0 2rem}.principles{grid-template-columns:1fr;gap:1.4rem}.principles h3{margin:.75rem 0}.story{display:flex;flex-direction:column}.story-picture{min-height:0;height:440px}.story-picture img{object-position:center 40%}.story-copy{padding:3rem 7%}.contact{grid-template-columns:1fr;gap:1.5rem}footer{padding:2.3rem 7%;display:block}footer p{margin-top:1.2rem}.footer-numbers{margin-top:1.5rem}}
.church-photo{max-width:1152px;width:90%;margin:0 auto}.church-photo img{height:auto}@media(max-width:680px){.church-photo{width:86%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Kastekuvat ja otteet rippikouluvastauksista */
.baptism{padding-bottom:2rem}.baptism-heading{margin-bottom:2.5rem}.baptism-heading .eyebrow{margin-bottom:1rem}.baptism-heading>p:last-child{color:var(--muted);margin:1.2rem 0 0}.baptism-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem;align-items:start}.baptism-gallery{margin:0;max-width:33rem}.baptism-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.baptism-photos img{height:auto;aspect-ratio:80/53;object-fit:contain}.baptism-gallery>figcaption{font-size:.875rem;line-height:1.6;color:var(--muted);margin-top:1rem}.baptism-source{font-size:.875rem;line-height:1.6;color:var(--muted);margin:0 0 1.4rem}.reflection{margin:0 0 1.6rem;padding-left:1.2rem;border-left:2px solid #b58b4b}.reflection:last-child{margin-bottom:0}.reflection figcaption{font-size:.875rem;font-weight:600;line-height:1.5;color:var(--muted);margin-bottom:.4rem}.reflection blockquote{border:0;padding:0;margin:0;font-size:1.25rem;line-height:1.5}.baptism+#arvoni{padding-top:4rem}
@media(max-width:800px){.baptism-layout{grid-template-columns:minmax(0,1fr);gap:2rem}.baptism-gallery{width:100%;max-width:33rem}.baptism-heading{margin-bottom:2rem}.baptism+#arvoni{padding-top:3rem}}

/* Aloitus ja kahden vaalin esittely */
.hero-copy{padding-top:3.5rem;padding-bottom:3.5rem}.hero .eyebrow{margin-bottom:1.6rem}.motto{margin:1.4rem 0 1.8rem}.hero-intro{font-size:1.1rem;line-height:1.65;margin-bottom:1.4rem}.candidacy{font-size:.9rem;margin:0 0 1.6rem;line-height:1.65}.button{margin-top:0}.voting{grid-template-columns:1fr 1fr;gap:2rem 3rem;padding-top:3rem;padding-bottom:3rem}.voting-title{grid-column:1/-1;max-width:52rem}.voting-title h2{font-size:clamp(1.8rem,3vw,2.6rem);margin:.7rem 0 1rem}.voting-title p{font-family:var(--sans);font-size:1rem;line-height:1.7;color:var(--muted);margin:0;max-width:46rem}.number{padding-left:1.4rem;gap:.65rem}.number span{font-size:1rem;line-height:1.4}.number small{font-size:.85rem;color:var(--muted);line-height:1.5}.list-info{grid-column:1/-1;border-top:1px solid var(--line);padding-top:1.2rem}.principles h3{margin-top:.5rem}
@media(max-width:680px){.hero-copy{padding:2.6rem 7%}.hero .eyebrow{font-size:.72rem;margin-bottom:1.6rem}h1{font-size:clamp(3.5rem,15vw,4.5rem)}.motto{font-size:2rem;margin:1.2rem 0 1.6rem}.hero-intro{font-size:1.05rem}.candidacy{font-size:.9rem;margin-bottom:1.5rem}.voting{padding:2.4rem 7%;gap:1.8rem 1.2rem}.number{padding-left:.8rem}.number span{font-size:.9rem}.number small{font-size:.78rem}.voting-title .eyebrow{font-size:.7rem}.voting-title p{font-size:.95rem}}
