/* NKK Sakramenty 1.0.0 */
html body.nkk-sac-system{
    --sac-ink:#171411;
    --sac-muted:#6a625b;
    --sac-accent:#8a1f2d;
    --sac-line:#d7cec1;
    --sac-line-strong:#bcb1a4;
    --sac-paper:#f7f3ec;
    --sac-paper-light:#fffdf8;
    --sac-soft:rgba(138,31,45,.045);
    --sac-serif:Georgia,"Times New Roman",serif;
    --sac-sans:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
    background:var(--sac-paper);
    color:var(--sac-ink);
}

html body.nkk-sac-system *{
    box-sizing:border-box;
}

html body.nkk-sac-system .nkk-sac-shell{
    width:min(calc(100% - 56px),1380px);
    max-width:1380px;
    margin-inline:auto;
}

.nkk-sac-main{
    background:var(--sac-paper);
}

.nkk-sac-eyebrow{
    display:block;
    margin:0 0 8px;
    color:var(--sac-accent);
    font-family:var(--sac-sans);
    font-size:9px;
    font-weight:850;
    line-height:1.2;
    letter-spacing:.13em;
    text-transform:uppercase;
}

/* MAIN HERO */
.nkk-sac-hero{
    display:grid;
    grid-template-columns:minmax(0,.88fr) minmax(520px,1.12fr);
    gap:clamp(38px,5vw,76px);
    align-items:center;
    min-height:645px;
    padding-block:28px 42px;
    border-bottom:1px solid var(--sac-line-strong);
}

.nkk-sac-hero h1,
.nkk-sac-singlehero h1{
    margin:0;
    color:var(--sac-ink);
    font-family:var(--sac-serif);
    font-size:clamp(36px,4.1vw,56px);
    font-weight:400;
    line-height:1.02;
    letter-spacing:-.025em;
}

.nkk-sac-hero__lead,
.nkk-sac-singlehero__lead{
    max-width:720px;
    margin:15px 0 0;
    color:#49433d;
    font-family:var(--sac-serif);
    font-size:16.5px;
    line-height:1.66;
}

.nkk-sac-hero__lead{
    text-align:justify;
}

.nkk-sac-note{
    max-width:650px;
    margin-top:22px;
    padding:16px 17px;
    background:var(--sac-soft);
    border-left:2px solid var(--sac-accent);
}

.nkk-sac-note p{
    margin:0;
    color:#575049;
    font-family:var(--sac-serif);
    font-size:13.5px;
    line-height:1.62;
}

/* ORBIT */
.nkk-sac-orbit{
    position:relative;
    min-height:590px;
    display:grid;
    place-items:center;
    isolation:isolate;
}

.nkk-sac-orbit__field{
    position:absolute;
    inset:2%;
    border-radius:50%;
    pointer-events:none;
}

.nkk-sac-ring{
    position:absolute;
    left:50%;
    top:50%;
    border-radius:50%;
    transform:translate(-50%,-50%);
}

.nkk-sac-ring--outer{
    width:91%;
    aspect-ratio:1;
    border:1px solid rgba(138,31,45,.13);
}

.nkk-sac-ring--middle{
    width:74%;
    aspect-ratio:1;
    border:1px dashed rgba(138,31,45,.13);
    animation:nkkSacRing 44s linear infinite;
}

.nkk-sac-ring--inner{
    width:49%;
    aspect-ratio:1;
    border:1px solid rgba(188,177,164,.45);
    animation:nkkSacRingReverse 34s linear infinite;
}

.nkk-sac-dot{
    position:absolute;
    left:50%;
    top:50%;
    border-radius:50%;
    pointer-events:none;
}

.nkk-sac-dot--1{
    width:7px;height:7px;margin:-3.5px;
    background:var(--sac-accent);
    box-shadow:0 0 0 5px rgba(138,31,45,.07);
    animation:nkkSacDotA 18s linear infinite;
}

.nkk-sac-dot--2{
    width:5px;height:5px;margin:-2.5px;
    background:#b89b73;
    animation:nkkSacDotB 24s linear infinite reverse;
}

.nkk-sac-dot--3{
    width:4px;height:4px;margin:-2px;
    background:#82756a;
    animation:nkkSacDotC 29s linear infinite;
}

.nkk-sac-center{
    position:relative;
    z-index:10;
    width:194px;
    aspect-ratio:1;
    display:grid;
    place-items:center;
    padding:22px;
    border-radius:50%;
    background:radial-gradient(circle,#fffdf8 0 34%,#faf6ef 74%,#f4eee5 100%);
    border:1px solid var(--sac-line-strong);
    box-shadow:
        0 18px 50px rgba(35,26,22,.08),
        0 0 0 12px rgba(255,253,248,.58),
        0 0 60px rgba(138,31,45,.055);
    text-align:center;
}

.nkk-sac-center::before,
.nkk-sac-center::after{
    content:"";
    position:absolute;
    border-radius:50%;
    border:1px solid rgba(138,31,45,.085);
}

.nkk-sac-center::before{inset:14px}
.nkk-sac-center::after{inset:31px;border-color:rgba(188,177,164,.34)}

.nkk-sac-chi-rho{
    width:60px;
    height:60px;
    margin:0 auto 6px;
    color:var(--sac-accent);
}

.nkk-sac-chi-rho svg{
    width:100%;
    height:100%;
    display:block;
    fill:none;
    stroke:currentColor;
    stroke-width:5.2;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.nkk-sac-center > span{
    display:block;
    margin-bottom:4px;
    color:#8b8178;
    font-family:var(--sac-sans);
    font-size:7px;
    font-weight:850;
    line-height:1.25;
    letter-spacing:.11em;
    text-transform:uppercase;
}

.nkk-sac-center strong{
    display:block;
    font-family:var(--sac-serif);
    font-size:20px;
    font-weight:400;
}

.nkk-sac-center small{
    display:block;
    max-width:120px;
    margin:5px auto 0;
    color:var(--sac-muted);
    font-family:var(--sac-serif);
    font-size:10.5px;
    line-height:1.35;
}

.nkk-sac-orbiter{
    position:absolute;
    left:50%;
    top:50%;
    z-index:7;
    width:0;
    height:0;
    transform:translate(-50%,-50%) rotate(var(--angle));
    animation:nkkSacOrbit 46s linear infinite;
    animation-delay:var(--delay);
}

.nkk-sac-orbiter__arm{
    position:relative;
    width:0;
    height:0;
}

.nkk-sac-medallion{
    position:absolute;
    left:0;
    top:0;
    width:126px;
    min-height:126px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    padding:13px 10px;
    border-radius:50%;
    background:rgba(255,253,248,.96);
    border:1px solid var(--sac-line);
    box-shadow:0 10px 28px rgba(35,26,22,.045);
    color:inherit;
    text-align:center;
    text-decoration:none;
    transform:
        translate(-50%,-50%)
        translateY(calc(var(--radius) * -1))
        rotate(calc(var(--angle) * -1));
    animation:nkkSacCounter 46s linear infinite;
    animation-delay:var(--delay);
    transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}

.nkk-sac-medallion:hover{
    border-color:rgba(138,31,45,.42);
    background:#fffdf8;
    box-shadow:0 15px 34px rgba(35,26,22,.075);
}

.nkk-sac-medallion__icon{
    width:35px;
    height:35px;
    display:block;
    color:var(--sac-accent);
}

.nkk-sac-medallion__icon svg,
.nkk-sac-directory__icon svg,
.nkk-sac-singlehero__symbol svg,
.nkk-sac-related__grid svg{
    width:100%;
    height:100%;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.nkk-sac-medallion__no{
    color:#9a9087;
    font-family:var(--sac-sans);
    font-size:7px;
    font-weight:850;
    letter-spacing:.11em;
}

.nkk-sac-medallion strong{
    max-width:104px;
    font-family:var(--sac-serif);
    font-size:13.5px;
    font-weight:400;
    line-height:1.13;
}

.nkk-sac-orbit:hover .nkk-sac-orbiter,
.nkk-sac-orbit:hover .nkk-sac-medallion{
    animation-play-state:paused;
}

/* MAIN NAV */
.nkk-sac-mainnav,
.nkk-sac-sectionnav{
    border-bottom:1px solid var(--sac-line);
    background:rgba(255,253,248,.34);
}

.nkk-sac-mainnav .nkk-sac-shell,
.nkk-sac-sectionnav .nkk-sac-shell{
    display:flex;
    justify-content:center;
    gap:0 24px;
    overflow-x:auto;
    scrollbar-width:none;
}

.nkk-sac-mainnav .nkk-sac-shell::-webkit-scrollbar,
.nkk-sac-sectionnav .nkk-sac-shell::-webkit-scrollbar{
    display:none;
}

.nkk-sac-mainnav a,
.nkk-sac-sectionnav a{
    min-height:50px;
    display:inline-flex;
    align-items:center;
    color:#625a52;
    font-family:var(--sac-sans);
    font-size:9px;
    font-weight:800;
    letter-spacing:.055em;
    text-decoration:none;
    text-transform:uppercase;
    white-space:nowrap;
}

/* MAIN SECTIONS */
.nkk-sac-section{
    display:grid;
    grid-template-columns:190px minmax(0,1fr);
    gap:clamp(34px,5vw,72px);
    padding-block:48px;
    border-bottom:1px solid var(--sac-line);
    scroll-margin-top:120px;
}

.nkk-sac-section__side span{
    display:block;
    margin:2px 0 7px;
    color:var(--sac-accent);
    font-family:var(--sac-sans);
    font-size:8.5px;
    font-weight:850;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.nkk-sac-section__side p{
    margin:0;
    color:#847a72;
    font-family:var(--sac-sans);
    font-size:10px;
    font-weight:700;
    line-height:1.45;
}

.nkk-sac-section__content{
    max-width:980px;
}

.nkk-sac-section__content h2,
.nkk-sac-related h2{
    margin:0 0 17px;
    font-family:var(--sac-serif);
    font-size:clamp(25px,2.35vw,34px);
    font-weight:400;
    line-height:1.1;
    letter-spacing:-.015em;
}

.nkk-sac-section__content > p{
    margin:0 0 14px;
    color:#39342f;
    font-family:var(--sac-serif);
    font-size:15.5px;
    line-height:1.7;
    text-align:justify;
}

.nkk-sac-groups{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin-top:25px;
    border-top:1px solid var(--sac-line-strong);
    border-left:1px solid var(--sac-line);
}

.nkk-sac-groups article{
    padding:23px 24px;
    border-right:1px solid var(--sac-line);
    border-bottom:1px solid var(--sac-line);
}

.nkk-sac-groups article > span{
    color:var(--sac-accent);
    font-family:var(--sac-sans);
    font-size:8px;
    font-weight:850;
    letter-spacing:.1em;
}

.nkk-sac-groups h3{
    margin:8px 0 9px;
    font-family:var(--sac-serif);
    font-size:19px;
    font-weight:400;
    line-height:1.2;
}

.nkk-sac-groups p{
    margin:0 0 14px;
    color:var(--sac-muted);
    font-family:var(--sac-serif);
    font-size:13.5px;
    line-height:1.55;
}

.nkk-sac-groups strong{
    color:#4c453f;
    font-family:var(--sac-sans);
    font-size:9.5px;
    font-weight:750;
    line-height:1.45;
}

.nkk-sac-directory{
    margin-top:27px;
    border-top:1px solid var(--sac-line-strong);
}

.nkk-sac-directory__item{
    display:grid;
    grid-template-columns:68px minmax(0,1fr);
    gap:18px;
    align-items:center;
    padding:20px 4px;
    border-bottom:1px solid var(--sac-line);
    color:inherit;
    text-decoration:none;
    transition:background .2s ease;
}

.nkk-sac-directory__item:hover{
    background:rgba(255,253,248,.52);
}

.nkk-sac-directory__icon{
    width:48px;
    height:48px;
    display:block;
    color:var(--sac-accent);
}

.nkk-sac-directory__meta{
    display:block;
    margin-bottom:4px;
    color:#91877e;
    font-family:var(--sac-sans);
    font-size:8px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.nkk-sac-directory__body > strong{
    display:block;
    margin-bottom:5px;
    font-family:var(--sac-serif);
    font-size:21px;
    font-weight:400;
}

.nkk-sac-directory__body > small{
    display:block;
    max-width:760px;
    color:var(--sac-muted);
    font-family:var(--sac-serif);
    font-size:13.5px;
    line-height:1.55;
}

.nkk-sac-directory__link{
    display:inline-block;
    margin-top:8px;
    padding-bottom:2px;
    border-bottom:1px solid rgba(138,31,45,.22);
    color:#5a403f;
    font-family:var(--sac-sans);
    font-size:9.5px;
    font-weight:700;
}

.nkk-sac-callout{
    margin-top:24px;
    padding:23px 25px;
    background:var(--sac-soft);
    border-top:2px solid var(--sac-accent);
}

.nkk-sac-callout > span{
    display:block;
    margin-bottom:7px;
    color:var(--sac-accent);
    font-family:var(--sac-sans);
    font-size:8px;
    font-weight:850;
    letter-spacing:.11em;
    text-transform:uppercase;
}

.nkk-sac-callout > strong{
    display:block;
    margin-bottom:8px;
    font-family:var(--sac-serif);
    font-size:20px;
    font-weight:400;
}

.nkk-sac-callout p{
    max-width:760px;
    margin:0 0 12px;
    color:#4f4841;
    font-family:var(--sac-serif);
    font-size:14px;
    line-height:1.6;
}

.nkk-sac-callout a{
    display:inline-block;
    padding-bottom:2px;
    border-bottom:1px solid rgba(138,31,45,.22);
    color:#5a403f;
    font-family:var(--sac-sans);
    font-size:10px;
    font-weight:700;
    text-decoration:none;
}

/* SINGLE HERO */
.nkk-sac-singlehero{
    display:grid;
    grid-template-columns:minmax(0,1fr) 280px;
    gap:clamp(36px,5vw,74px);
    align-items:center;
    padding-block:40px 38px;
    border-bottom:1px solid var(--sac-line-strong);
}

.nkk-sac-breadcrumb{
    display:flex;
    flex-wrap:wrap;
    gap:5px 8px;
    margin-bottom:24px;
    color:#82786f;
    font-family:var(--sac-sans);
    font-size:9px;
    font-weight:700;
}

.nkk-sac-breadcrumb a{
    color:inherit;
    text-decoration:none;
}

.nkk-sac-singlehero__number{
    display:block;
    margin-bottom:7px;
    color:#a4988f;
    font-family:var(--sac-sans);
    font-size:10px;
    font-weight:850;
    letter-spacing:.1em;
}

.nkk-sac-singlehero__lead{
    max-width:820px;
    text-align:left;
}

.nkk-sac-singlehero__symbol{
    width:240px;
    aspect-ratio:1;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    justify-self:end;
    padding:28px;
    border-radius:50%;
    background:#fffdf8;
    border:1px solid var(--sac-line);
    color:var(--sac-accent);
    text-align:center;
}

.nkk-sac-singlehero__symbol > span{
    width:74px;
    height:74px;
    display:block;
    margin-bottom:13px;
}

.nkk-sac-singlehero__symbol strong{
    color:var(--sac-ink);
    font-family:var(--sac-serif);
    font-size:22px;
    font-weight:400;
}

.nkk-sac-singlehero__symbol small{
    max-width:170px;
    margin-top:6px;
    color:var(--sac-muted);
    font-family:var(--sac-sans);
    font-size:8px;
    font-weight:750;
    line-height:1.4;
    letter-spacing:.045em;
    text-transform:uppercase;
}

/* SACRAMENT BAR */
.nkk-sac-sacramentbar{
    border-bottom:1px solid var(--sac-line);
    background:rgba(255,253,248,.42);
}

.nkk-sac-sacramentbar .nkk-sac-shell{
    display:flex;
    justify-content:center;
    overflow-x:auto;
    scrollbar-width:none;
}

.nkk-sac-sacramentbar .nkk-sac-shell::-webkit-scrollbar{
    display:none;
}

.nkk-sac-sacramentbar a{
    position:relative;
    min-height:56px;
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding-inline:13px;
    color:#6e655d;
    font-family:var(--sac-sans);
    font-size:9px;
    font-weight:750;
    text-decoration:none;
    white-space:nowrap;
}

.nkk-sac-sacramentbar a span{
    color:#a99c92;
    font-size:7px;
}

.nkk-sac-sacramentbar a.is-active{
    color:var(--sac-ink);
}

.nkk-sac-sacramentbar a.is-active::after{
    content:"";
    position:absolute;
    left:12px;
    right:12px;
    bottom:-1px;
    height:2px;
    background:var(--sac-accent);
}

/* SINGLE CONTENT */
.nkk-sac-singlelayout{
    display:grid;
    grid-template-columns:230px minmax(0,1fr);
    gap:clamp(38px,6vw,82px);
    padding-block:48px 58px;
}

.nkk-sac-singleaside{
    align-self:start;
    position:sticky;
    top:110px;
    padding-top:4px;
}

.nkk-sac-singleaside__eyebrow{
    display:block;
    margin-bottom:7px;
    color:var(--sac-accent);
    font-family:var(--sac-sans);
    font-size:8px;
    font-weight:850;
    letter-spacing:.11em;
    text-transform:uppercase;
}

.nkk-sac-singleaside > strong{
    display:block;
    margin-bottom:11px;
    font-family:var(--sac-serif);
    font-size:22px;
    font-weight:400;
}

.nkk-sac-singleaside p{
    margin:0 0 15px;
    color:var(--sac-muted);
    font-family:var(--sac-serif);
    font-size:12.5px;
    line-height:1.6;
}

.nkk-sac-singleaside a{
    display:inline-block;
    padding-bottom:2px;
    border-bottom:1px solid rgba(138,31,45,.22);
    color:#5a403f;
    font-family:var(--sac-sans);
    font-size:9px;
    font-weight:700;
    text-decoration:none;
}

.nkk-sac-article{
    max-width:920px;
}

.nkk-sac-article__section{
    display:grid;
    grid-template-columns:225px minmax(0,1fr);
    gap:30px;
    padding:0 0 38px;
    margin-bottom:38px;
    border-bottom:1px solid var(--sac-line);
    scroll-margin-top:120px;
}

.nkk-sac-article__section > header{
    align-self:start;
}

.nkk-sac-article__section > header span{
    display:block;
    margin-bottom:7px;
    color:var(--sac-accent);
    font-family:var(--sac-sans);
    font-size:8px;
    font-weight:850;
    letter-spacing:.1em;
}

.nkk-sac-article__section > header h2{
    margin:0;
    font-family:var(--sac-serif);
    font-size:22px;
    font-weight:400;
    line-height:1.2;
}

.nkk-sac-article__body{
    min-width:0;
}

.nkk-sac-article__body p,
.nkk-sac-article__body li{
    color:#39342f;
    font-family:var(--sac-serif);
    font-size:15px;
    line-height:1.72;
}

.nkk-sac-article__body p{
    margin:0 0 15px;
    text-align:justify;
}

.nkk-sac-article__body ul,
.nkk-sac-article__body ol{
    margin:13px 0 18px;
    padding-left:24px;
}

.nkk-sac-article__body li{
    margin-bottom:7px;
}

.nkk-sac-article__body blockquote{
    margin:22px 0;
    padding:18px 20px;
    border-left:2px solid var(--sac-accent);
    background:var(--sac-soft);
}

.nkk-sac-article__body blockquote p{
    margin:0;
    font-size:16px;
    font-style:italic;
    text-align:left;
}

.nkk-sac-article__body h1,
.nkk-sac-article__body h2,
.nkk-sac-article__body h3,
.nkk-sac-article__body h4{
    display:none;
}

.nkk-sac-related{
    padding-block:40px 65px;
    border-top:1px solid var(--sac-line-strong);
}

.nkk-sac-related__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin-top:24px;
    border-top:1px solid var(--sac-line);
    border-left:1px solid var(--sac-line);
}

.nkk-sac-related__grid a{
    min-height:140px;
    padding:20px;
    border-right:1px solid var(--sac-line);
    border-bottom:1px solid var(--sac-line);
    color:inherit;
    text-decoration:none;
}

.nkk-sac-related__grid a > span{
    width:34px;
    height:34px;
    display:block;
    margin-bottom:10px;
    color:var(--sac-accent);
}

.nkk-sac-related__grid strong{
    display:block;
    margin-bottom:5px;
    font-family:var(--sac-serif);
    font-size:18px;
    font-weight:400;
}

.nkk-sac-related__grid small{
    color:var(--sac-muted);
    font-family:var(--sac-sans);
    font-size:8px;
    font-weight:750;
    line-height:1.4;
    text-transform:uppercase;
}

/* ANIMATION */
@keyframes nkkSacRing{
    from{transform:translate(-50%,-50%) rotate(0)}
    to{transform:translate(-50%,-50%) rotate(360deg)}
}

@keyframes nkkSacRingReverse{
    from{transform:translate(-50%,-50%) rotate(360deg)}
    to{transform:translate(-50%,-50%) rotate(0)}
}

@keyframes nkkSacOrbit{
    from{transform:translate(-50%,-50%) rotate(var(--angle))}
    to{transform:translate(-50%,-50%) rotate(calc(var(--angle) + 360deg))}
}

@keyframes nkkSacCounter{
    from{
        transform:
            translate(-50%,-50%)
            translateY(calc(var(--radius) * -1))
            rotate(calc(var(--angle) * -1));
    }
    to{
        transform:
            translate(-50%,-50%)
            translateY(calc(var(--radius) * -1))
            rotate(calc((var(--angle) + 360deg) * -1));
    }
}

@keyframes nkkSacDotA{
    from{transform:rotate(0deg) translateX(234px)}
    to{transform:rotate(360deg) translateX(234px)}
}

@keyframes nkkSacDotB{
    from{transform:rotate(0deg) translateX(180px)}
    to{transform:rotate(360deg) translateX(180px)}
}

@keyframes nkkSacDotC{
    from{transform:rotate(0deg) translateX(136px)}
    to{transform:rotate(360deg) translateX(136px)}
}

/* RESPONSIVE */
@media(max-width:1100px){
    .nkk-sac-hero{
        grid-template-columns:1fr;
    }

    .nkk-sac-orbit{
        width:min(100%,760px);
        margin-inline:auto;
    }

    .nkk-sac-groups{
        grid-template-columns:1fr;
    }
}

@media(max-width:900px){
    html body.nkk-sac-system .nkk-sac-shell{
        width:min(calc(100% - 32px),1380px);
    }

    .nkk-sac-section,
    .nkk-sac-singlelayout{
        grid-template-columns:1fr;
    }

    .nkk-sac-singleaside{
        position:static;
        padding-bottom:22px;
        border-bottom:1px solid var(--sac-line);
    }

    .nkk-sac-singlehero{
        grid-template-columns:1fr 210px;
    }

    .nkk-sac-singlehero__symbol{
        width:190px;
    }

    .nkk-sac-article__section{
        grid-template-columns:180px minmax(0,1fr);
    }
}

@media(max-width:700px){
    html body.nkk-sac-system .nkk-sac-shell{
        width:min(calc(100% - 24px),1380px);
    }

    .nkk-sac-hero{
        min-height:0;
        padding-top:28px;
    }

    .nkk-sac-hero__lead,
    .nkk-sac-section__content > p,
    .nkk-sac-article__body p{
        text-align:left;
    }

    .nkk-sac-orbit{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
        min-height:0;
        padding:22px 0 0;
    }

    .nkk-sac-orbit__field{
        display:none;
    }

    .nkk-sac-center{
        grid-column:1/-1;
        position:relative;
        width:160px;
        margin:0 auto 10px;
    }

    .nkk-sac-orbiter{
        position:relative;
        left:auto;
        top:auto;
        width:auto;
        height:auto;
        transform:none;
        animation:none;
    }

    .nkk-sac-orbiter__arm{
        width:auto;
        height:auto;
    }

    .nkk-sac-medallion{
        position:relative;
        left:auto;
        top:auto;
        width:100%;
        min-height:118px;
        border-radius:15px;
        transform:none;
        animation:none;
    }

    .nkk-sac-singlehero{
        grid-template-columns:1fr;
    }

    .nkk-sac-singlehero__symbol{
        width:160px;
        justify-self:start;
    }

    .nkk-sac-article__section{
        grid-template-columns:1fr;
        gap:14px;
    }

    .nkk-sac-related__grid{
        grid-template-columns:1fr 1fr;
    }

    .nkk-sac-mainnav .nkk-sac-shell,
    .nkk-sac-sectionnav .nkk-sac-shell,
    .nkk-sac-sacramentbar .nkk-sac-shell{
        justify-content:flex-start;
    }
}

@media(max-width:460px){
    .nkk-sac-related__grid{
        grid-template-columns:1fr;
    }
}

@media(prefers-reduced-motion:reduce){
    .nkk-sac-ring,
    .nkk-sac-orbiter,
    .nkk-sac-medallion,
    .nkk-sac-dot{
        animation:none !important;
    }
}


/* ==========================================================
   NKK Sakramenty 1.0.1 — Sakramenty i sakramentalia
   ========================================================== */

.nkk-sac-sacramentalia{
    display:grid;
    grid-template-columns:170px minmax(0,1fr);
    gap:clamp(34px,5vw,68px);
    align-items:center;
    padding-block:38px 62px;
    border-top:1px solid var(--sac-line-strong);
}

.nkk-sac-sacramentalia__symbol{
    width:132px;
    aspect-ratio:1;
    display:grid;
    place-items:center;
    justify-self:start;
    border-radius:50%;
    background:
        radial-gradient(circle at center,#fffdf8 0 50%,#f6f0e7 100%);
    border:1px solid var(--sac-line);
    color:var(--sac-accent);
    position:relative;
}

.nkk-sac-sacramentalia__symbol::before,
.nkk-sac-sacramentalia__symbol::after{
    content:"";
    position:absolute;
    border-radius:50%;
    border:1px solid rgba(138,31,45,.08);
}

.nkk-sac-sacramentalia__symbol::before{inset:10px}
.nkk-sac-sacramentalia__symbol::after{inset:22px;border-color:rgba(188,177,164,.35)}

.nkk-sac-sacramentalia__symbol svg{
    position:relative;
    z-index:1;
    width:66px;
    height:66px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.nkk-sac-sacramentalia__copy{
    max-width:880px;
}

.nkk-sac-sacramentalia__copy h2{
    margin:0 0 12px;
    font-family:var(--sac-serif);
    font-size:clamp(24px,2.15vw,31px);
    font-weight:400;
    line-height:1.12;
    letter-spacing:-.014em;
}

.nkk-sac-sacramentalia__copy > p{
    max-width:820px;
    margin:0 0 15px;
    color:#4d4741;
    font-family:var(--sac-serif);
    font-size:14.5px;
    line-height:1.65;
    text-align:justify;
}

.nkk-sac-sacramentalia__primary{
    display:inline-block;
    padding:2px 0 3px;
    border-bottom:1px solid rgba(138,31,45,.28);
    color:#5a403f;
    font-family:var(--sac-sans);
    font-size:10px;
    font-weight:750;
    line-height:1.2;
    text-decoration:none;
}

.nkk-sac-sacramentalia__source-links{
    margin-top:22px;
    padding-top:14px;
    border-top:1px solid var(--sac-line);
}

.nkk-sac-sacramentalia__source-links > span{
    display:block;
    margin-bottom:8px;
    color:#90857c;
    font-family:var(--sac-sans);
    font-size:8px;
    font-weight:850;
    line-height:1.2;
    letter-spacing:.1em;
    text-transform:uppercase;
}

/*
 * Dziedziczymy wyłącznie linki ze starej sekcji „Sakramentalia”.
 * Usuwamy stare list-style i czerwony wygląd Elementora.
 */
.nkk-sac-sacramentalia__source-links ul,
.nkk-sac-sacramentalia__source-links ol{
    display:flex;
    flex-wrap:wrap;
    gap:7px 18px;
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
}

.nkk-sac-sacramentalia__source-links li{
    margin:0 !important;
    padding:0 !important;
}

html body.nkk-sac-system .nkk-sac-sacramentalia__source-links a{
    display:inline-block !important;
    width:auto !important;
    min-width:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:2px 0 3px !important;
    border:0 !important;
    border-bottom:1px solid rgba(138,31,45,.18) !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:#6c544f !important;
    font-family:var(--sac-sans) !important;
    font-size:9.5px !important;
    font-weight:650 !important;
    line-height:1.3 !important;
    text-decoration:none !important;
    text-transform:none !important;
}

@media(max-width:900px){
    .nkk-sac-sacramentalia{
        grid-template-columns:130px minmax(0,1fr);
        gap:28px;
    }

    .nkk-sac-sacramentalia__symbol{
        width:112px;
    }
}

@media(max-width:700px){
    .nkk-sac-sacramentalia{
        grid-template-columns:1fr;
        gap:18px;
        padding-block:34px 50px;
    }

    .nkk-sac-sacramentalia__symbol{
        width:98px;
    }

    .nkk-sac-sacramentalia__copy > p{
        text-align:left;
    }
}


/* NKK Sakramenty 1.0.2 — poprawiony symbol Sakramentaliów */
.nkk-sac-sacramentalia__symbol{
    background:
        radial-gradient(circle at 50% 44%, #fffdf8 0 44%, #f7f1e9 72%, #f2ebe1 100%);
    box-shadow:
        inset 0 0 0 9px rgba(138,31,45,.018),
        0 10px 28px rgba(35,26,22,.035);
}

.nkk-sac-sacramentalia__symbol::before{
    inset:11px;
    border-color:rgba(138,31,45,.11);
}

.nkk-sac-sacramentalia__symbol::after{
    inset:23px;
    border-color:rgba(188,177,164,.28);
}

.nkk-sac-sacramentalia__symbol svg{
    width:72px;
    height:72px;
    stroke-width:1.55;
}


/* NKK Sakramenty 1.0.3 — klasyczny znak Sakramentaliów */
.nkk-sac-sacramentalia__symbol{
    background:#fffdf8;
    box-shadow:none;
}

.nkk-sac-sacramentalia__symbol::before{
    inset:10px;
    border-color:rgba(138,31,45,.10);
}

.nkk-sac-sacramentalia__symbol::after{
    inset:22px;
    border-color:rgba(188,177,164,.26);
}

.nkk-sac-sacramentalia__symbol svg{
    width:70px;
    height:70px;
    stroke-width:1.55;
}
