@charset "UTF-8";
:root{--ink:#102c46;--muted:#5c6266;--gold:#ac8035;--paper:#f8f0e2;--line:#b3976260;--serif:Georgia,"Times New Roman",serif;--sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{position:relative;display:flow-root;min-height:100vh;margin:0;color:var(--ink);font:18px/1.65 var(--serif);background:#b98b60;isolation:isolate;overflow-x:clip}a{color:inherit}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:6px}.skip{position:fixed;top:-80px;left:20px;z-index:20;background:var(--paper);padding:10px 20px}.skip:focus{top:12px}
.table-scene{position:absolute;inset:0;overflow:hidden;z-index:-2;pointer-events:none}.table{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none;transform:perspective(2800px) rotateX(8deg) scale(1.035);transform-origin:50% 0;--board-width:clamp(160px,22vw,350px)}.table img{position:absolute;left:0;width:100%;height:auto;filter:brightness(1.16) saturate(.75)}.table:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(196deg,#f0d3ab21 0,#f0d3ab21 calc(var(--board-width) - 4px),#35201199 calc(var(--board-width) - 3px),#49301e calc(var(--board-width) - 2px),#49301e calc(var(--board-width) - 1px),#ffeac58c var(--board-width))}.daylight{position:absolute;inset:0 0 auto;height:115vh;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 0 0,#fff8de75,transparent 75%)}
.paper{position:relative;width:min(86%,1280px);margin:48px auto 80px;background:var(--paper);box-shadow:10px 18px 35px #29160650,1px 1px 3px #29160640;isolation:isolate}.paper:before{content:"";position:absolute;inset:0;z-index:-1;background:url('assets/kartka-v1.png') center / 108% 112%;opacity:.78;pointer-events:none}.header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 6%;border-bottom:1px solid var(--line)}.brand{font-size:32px;text-decoration:none;white-space:nowrap;line-height:1.2}.cross{font-size:33px;color:var(--gold);padding-right:10px}.header nav{display:flex;gap:30px;font-size:16px}.header nav a{text-decoration:none;position:relative}.header nav a:after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .2s}.header nav a:hover:after{transform:scaleX(1)}.menu-button{display:none}
.eyebrow{font:11px/1.6 var(--sans);text-transform:uppercase;letter-spacing:.24em;color:var(--gold);margin:0 0 18px}.hero{text-align:center;padding:75px 8% 38px}.hero h1{font-weight:400;font-size:clamp(66px,8.4vw,122px);letter-spacing:-.045em;line-height:1.1;margin:0}.gold-line{width:52px;height:2px;margin:28px auto;background:var(--gold)}h2,h3{font-weight:400;line-height:1.22;margin:0}.hero h2{font-size:clamp(30px,3.7vw,54px);letter-spacing:-.025em}.intro{font-size:20px;color:var(--muted);margin:18px 0 28px}.actions{display:flex;justify-content:center;align-items:center;gap:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;text-decoration:none;background:var(--ink);color:#fffaf0;border-radius:30px;padding:11px 24px;font-size:16px;transition:background .2s,transform .2s}.button:hover{background:#24435d;transform:translateY(-2px)}.text-link{text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:4px;font-size:16px;line-height:1.7}.text-link span{margin-left:8px}.scroll-cue{display:flex;flex-direction:column;align-items:center;gap:4px;text-decoration:none;margin-top:35px;color:var(--gold);font:10px var(--sans);letter-spacing:.14em;text-transform:uppercase}.scroll-cue span:last-child{font-size:18px}
.meeting{text-align:center;padding:0 12% 60px}.divider{display:flex;align-items:center;gap:15px;margin:0 0 36px;color:var(--gold)}.divider:before,.divider:after{content:"";height:1px;background:var(--line);flex:1}.divider span{font-size:24px}.meeting h2{font-size:38px}.meeting-values{font-size:21px;letter-spacing:.04em;margin:14px 0 18px}.meeting-values span{color:var(--gold);padding:0 8px}.body-copy{color:var(--muted);font:16px/1.9 var(--sans);margin:20px 0;max-width:620px}.meeting .body-copy{margin:0 auto 25px;max-width:600px}.section{padding:45px 8% 65px}.section-heading{display:flex;align-items:center;gap:28px;margin-bottom:35px}.section-heading .eyebrow{margin-bottom:10px}.section-heading h2{font-size:40px;letter-spacing:-.025em}.heading-rule{height:1px;background:var(--line);flex:1}.journal{display:grid;grid-template-columns:1fr 1.35fr;text-decoration:none;border:1px solid var(--line)}.journal-mark{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:290px;background:var(--ink);color:#e8d2a7;position:relative;overflow:hidden}.journal-mark:before,.journal-mark:after{content:"";position:absolute;border:1px solid #c5a16344;width:200px;height:200px;border-radius:50%;left:calc(50% - 100px);top:calc(50% - 100px)}.journal-mark:after{width:230px;height:230px;left:calc(50% - 115px);top:calc(50% - 115px)}.journal-mark span{font-size:115px;line-height:1;z-index:1}.journal-mark small{font:10px var(--sans);letter-spacing:.24em;text-transform:uppercase;z-index:1;margin-top:16px}.journal-copy{padding:40px}.journal-copy h3{font-size:30px;max-width:360px}.journal-copy>p:not(.eyebrow){font:15px/1.9 var(--sans);color:var(--muted);margin:20px 0 25px}.journal:hover .text-link{color:var(--gold)}.about{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;border-top:1px solid var(--line);margin:20px 8%;padding:65px 0}.about h2{font-size:43px;letter-spacing:-.03em}.about blockquote{margin:0;align-self:center;text-align:center;padding:30px;color:var(--gold)}.quote-mark{font-size:100px;line-height:.7;display:block}.about blockquote p{font-size:35px;line-height:1.3;margin:10px 0 20px;font-style:italic}.about cite{font:11px var(--sans);letter-spacing:.2em}.contact{border-top:1px solid var(--line);margin:0 8%;padding:60px 0 70px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px}.contact-grid h3{font-size:24px}.contact-grid p{font:16px/1.8 var(--sans);color:var(--muted);max-width:400px}.contact-grid .small{font-size:13px}.contact-grid .button{margin-top:10px}footer{display:flex;align-items:center;gap:20px;justify-content:space-between;margin:0 6%;padding:28px 0;border-top:1px solid var(--line)}footer .brand{font-size:24px}footer p,footer>a:last-child{font:11px/1.6 var(--sans);color:var(--muted)}footer>a:last-child{text-decoration:none}
@media(min-width:1600px){.hero{padding-top:90px}}@media(max-width:950px){.header{padding:25px 5%}.header nav{gap:18px;font-size:14px}.brand{font-size:27px}.about{gap:25px}.journal-copy{padding:28px}.contact-grid{gap:30px}footer{flex-wrap:wrap}}
@media(max-width:700px){html{scroll-padding-top:15px}.paper{width:92%;margin:22px auto 36px}.table{transform:perspective(3200px) rotateX(3deg) scale(1.025);--board-width:190px}.header{flex-wrap:wrap;padding:20px 6%;gap:14px}.brand{font-size:26px}.cross{font-size:26px;padding-right:6px}.menu-button{display:flex;align-items:center;gap:10px;background:none;border:1px solid var(--line);padding:7px 12px;border-radius:3px;font:13px var(--sans);color:var(--ink)}.header nav{display:none;width:100%;flex-wrap:wrap;gap:0;justify-content:space-between;padding-top:12px}.header nav.is-open{display:flex}.header nav a{padding:8px 3px;font-size:14px}.hero{padding:55px 6% 32px}.eyebrow{font-size:9px;letter-spacing:.18em}.hero h1{font-size:clamp(54px,12vw,78px)}.hero h2{font-size:clamp(26px,6.8vw,37px)}.intro{font-size:17px;max-width:250px;margin:20px auto 28px}.actions{gap:22px;flex-wrap:wrap}.button,.text-link{font-size:14px}.meeting{padding:0 7% 36px}.meeting h2{font-size:30px}.meeting-values{font-size:16px;letter-spacing:0}.meeting-values span{padding:0 3px}.body-copy{font-size:14px}.section{padding:35px 7% 45px}.section-heading h2{font-size:30px}.section-heading{gap:15px}.journal{grid-template-columns:1fr}.journal-mark{min-height:180px}.journal-mark span{font-size:88px}.journal-mark:before{width:135px;height:135px;left:calc(50% - 67.5px);top:calc(50% - 67.5px)}.journal-mark:after{width:155px;height:155px;left:calc(50% - 77.5px);top:calc(50% - 77.5px)}.journal-copy{padding:26px}.journal-copy h3{font-size:27px}.about{grid-template-columns:1fr;margin:0 7%;padding:45px 0;gap:20px}.about h2{font-size:34px}.about blockquote{padding:15px}.about blockquote p{font-size:29px}.contact{margin:0 7%;padding:40px 0}.contact-grid{grid-template-columns:1fr;gap:25px}.contact-grid p{font-size:14px}footer{justify-content:center;text-align:center;flex-direction:column;gap:10px}footer p{margin:0}.paper:before{background-size:108% 112%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Perspektywa papieru obejmuje również treść. */
.paper{transform:perspective(5500px) rotateX(4deg);transform-origin:50% 0;box-shadow:18px 30px 48px #29160666,5px 8px 14px #29160655,0 1px 3px #29160666}
@media(max-width:700px){.paper{transform:perspective(6500px) rotateX(1deg);box-shadow:8px 15px 24px #29160666,2px 4px 7px #29160644}}

/* Większa figurka leżąca ukośnie przy krawędzi kartki. */
:root{--decoration-height:clamp(300px,36vw,555px)}
.mary-decoration{position:absolute;z-index:2;top:28px;left:calc(50% - min(43vw,640px) - clamp(75px,9vw,138px));width:calc(var(--decoration-height) * 2 / 3);transform:rotate(-18deg);pointer-events:none;user-select:none}
.mary-decoration img{display:block;position:relative;width:100%;height:auto;filter:sepia(.055) saturate(.9) contrast(1.025) brightness(.99) drop-shadow(0 1px .7px #33251670) drop-shadow(1px 7px 4px #3c281640)}

@media(max-width:850px) and (min-width:701px){:root{--decoration-height:270px}.mary-decoration{left:calc(7vw - 65px)}}
@media(max-width:700px){:root{--decoration-height:180px}.mary-decoration{top:112px;left:-26px;transform:rotate(-12deg)}.mary-decoration img{filter:sepia(.055) saturate(.9) contrast(1.025) brightness(.99) drop-shadow(0 .6px .4px #33251665) drop-shadow(.6px 3px 2px #3c281638)}}
@media(max-width:360px){:root{--decoration-height:126px}.mary-decoration{left:-22px;transform:rotate(-4deg)}}

/* Różaniec leży na stole poniżej figurki Maryi. */
.rosary-decoration{position:absolute;z-index:2;top:calc(28px + var(--decoration-height) + 84px);left:calc(50% - min(43vw,640px) - clamp(80px,11vw,160px));width:clamp(308px,35.2vw,528px);transform:rotate(-12deg);transform-origin:top left;pointer-events:none;user-select:none}
.rosary-decoration img{display:block;width:100%;height:auto;filter:sepia(.06) saturate(.73) brightness(.96) drop-shadow(.3px .7px .35px #33251680) drop-shadow(.7px 2.1px 1.1px #3c281648)}
@media(max-width:850px) and (min-width:701px){.rosary-decoration{left:calc(7vw - 90px)}}
@media(max-width:700px){.rosary-decoration{top:calc(112px + var(--decoration-height) + 48px);left:-8px;width:90px;transform:rotate(-8deg)}}
@media(max-width:360px){.rosary-decoration{left:-6px;width:70px}}

/* Ramka leży płasko przy prawym brzegu kartki, obrót wyłącznie w jej płaszczyźnie. */
.jesus-decoration{position:absolute;z-index:2;top:145px;right:calc(50% - min(43vw,640px) - 100px);width:calc(var(--decoration-height) * 3 / 4);transform:rotate(12deg);pointer-events:none;user-select:none}
.jesus-decoration img{display:block;width:100%;height:auto;filter:sepia(.09) saturate(.76) brightness(.985) drop-shadow(.6px .8px .5px #33251685) drop-shadow(4px 4px 2.6px #3c28164a)}
@media(max-width:950px) and (min-width:701px){.jesus-decoration{top:148px;right:calc(7vw - 80px)}}
@media(max-width:700px){.jesus-decoration{top:111px;right:-25px;transform:rotate(9deg)}.jesus-decoration img{filter:sepia(.09) saturate(.76) brightness(.985) drop-shadow(.4px .5px .35px #33251675) drop-shadow(1.8px 1.8px 1.3px #3c281640)}}

/* Światło z lewego górnego rogu; cień kontaktowy skaluje się z koralikami. */
@media(max-width:700px){.rosary-decoration img{filter:sepia(.06) saturate(.73) brightness(.96) drop-shadow(.15px .3px .2px #33251680) drop-shadow(.3px .8px .5px #3c281648)}}
