/* Kartomancja Portal 1.0.0. Scoped classes: kph-* only; no theme resets. */
.kph-root,.kph-menu-wrap{--kph-ink:#202130;--kph-muted:#646677;--kph-line:#e6e1dc;--kph-plum:#321e48;--kph-deep:#19172b;--kph-gold:#d9b777;--kph-bg:#f9f7f3;--kph-serif:Georgia,"Times New Roman",serif;font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--kph-ink);line-height:1.6}
.kph-root *,.kph-menu-wrap *{box-sizing:border-box}
.kph-root :where(h1,h2,h3,p,ol){margin-top:0}
.kph-root a,.kph-menu-wrap a{text-decoration:none!important}
.kph-root a:focus-visible,.kph-menu-wrap a:focus-visible,.kph-menu-wrap button:focus-visible{outline:3px solid #cb9452!important;outline-offset:4px}
.kph-root .kph-hero{background:radial-gradient(circle at 78% 52%,#4d345f 0,#2c2344 40%,#1c1a30 85%);position:relative;isolation:isolate;overflow:hidden;border-radius:22px;color:#fff;min-height:490px;padding:clamp(30px,5.3vw,76px);display:grid;grid-template-columns:minmax(0,1.24fr) minmax(240px,.76fr);gap:30px;align-items:center}
.kph-root .kph-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 45%,rgba(218,180,119,.09));z-index:-1}
.kph-root .kph-eyebrow{font-size:11px!important;line-height:1.7;letter-spacing:2.1px!important;color:#efd4aa;font-weight:800;margin:0 0 17px;text-transform:uppercase}
.kph-root .kph-star{font-size:20px;vertical-align:middle;margin-right:4px}
.kph-root h1,.kph-root h2,.kph-root h3{font-family:var(--kph-serif)!important;text-wrap:balance;line-height:1.13;letter-spacing:-.02em}
.kph-root .kph-hero h1{font-size:clamp(34px,4.2vw,60px)!important;color:#fff!important;line-height:1.17;margin:0 0 21px;max-width:740px;font-weight:600}
.kph-root .kph-hero h1 em{font-weight:400;color:#e7c997}
.kph-root .kph-lead{font-size:clamp(15px,1.55vw,18px);color:#e0dce8;max-width:610px;margin:0 0 29px;line-height:1.8}
.kph-root .kph-buttons{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.kph-root .kph-button{border-radius:99px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;min-height:45px;gap:6px;padding:11px 21px;font-weight:700;font-size:14px;transition:transform .15s,background .15s,border-color .15s}
.kph-root .kph-button:hover{transform:translateY(-2px)}
.kph-root .kph-button-primary{background:var(--kph-gold);color:#231a31!important}.kph-root .kph-button-primary:hover{background:#f3d69b}
.kph-root .kph-button-outline{border-color:#9385a4;background:transparent;color:#fff!important}.kph-root .kph-button-outline:hover{border-color:#f2d5a4;background:#ffffff10}
.kph-root .kph-underlead{font-size:12px;color:#c8bdce;margin:16px 0 0}
.kph-root .kph-hero-art{height:355px;position:relative;display:flex;align-items:center;justify-content:center}
.kph-root .kph-orbit{position:absolute;border:1px solid #d9b77744;border-radius:50%;width:310px;height:310px;inset:50% auto auto 50%;transform:translate(-50%,-50%)}
.kph-root .kph-orbit-two{width:230px;height:230px;transform:translate(-50%,-50%) rotate(25deg);border-style:dashed;opacity:.55}
.kph-root .kph-sigil{position:absolute;width:120px;height:156px;border:1px solid #d9b77780;border-radius:11px;background:linear-gradient(140deg,#33264a,#221d36);box-shadow:0 20px 40px #110f1f77;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#efd9a9}
.kph-root .kph-sigil>span{font-size:62px;line-height:1;display:block;font-family:Georgia,serif}
.kph-root .kph-sigil small{font-size:9px;letter-spacing:2.5px}
.kph-root .kph-sigil-tarot{transform:translate(-84px,-42px) rotate(-15deg);z-index:1}
.kph-root .kph-sigil-runes{transform:translate(82px,-42px) rotate(15deg);z-index:2}
.kph-root .kph-sigil-iching{transform:translate(0,38px);z-index:3;background:linear-gradient(140deg,#564467,#231e38)}
.kph-root .kph-art-center{position:absolute;font-size:17px;color:#ecd39e;top:9px;left:49%}
.kph-root .kph-section{padding:clamp(44px,6vw,80px) clamp(8px,2vw,22px)}
.kph-root .kph-eyebrow-dark{color:#836b49}
.kph-root .kph-section>h2,.kph-root .kph-method h2,.kph-root .kph-library h2,.kph-root .kph-library-page h1{font-size:clamp(31px,3.4vw,45px)!important;color:#282337;margin-bottom:15px;font-weight:600}
.kph-root .kph-section-intro{font-size:16px;color:var(--kph-muted);max-width:760px;line-height:1.8;margin-bottom:27px}
.kph-root .kph-system-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}
.kph-root .kph-system-card{min-height:365px;border-radius:17px;padding:clamp(21px,2.4vw,32px);display:flex;flex-direction:column;border:1px solid #eae4df;box-shadow:0 14px 35px #261a3610;transition:transform .15s,box-shadow .15s}
.kph-root .kph-system-card:hover{transform:translateY(-3px);box-shadow:0 20px 40px #261a361c}
.kph-root .kph-tarot{background:linear-gradient(155deg,#f8f1fa,#fffafa)}.kph-root .kph-runes{background:linear-gradient(155deg,#ecf7f1,#fcfffd)}.kph-root .kph-iching{background:linear-gradient(155deg,#ecf3f8,#fcfefe)}
.kph-root .kph-card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:28px}
.kph-root .kph-symbol{font-family:Georgia,serif;font-size:56px;line-height:1;color:#65467b}
.kph-root .kph-runes .kph-symbol{color:#407c65}.kph-root .kph-iching .kph-symbol{color:#466780}
.kph-root .kph-stat{font-size:10px;letter-spacing:1.1px;font-weight:800;color:#6f6377;border:1px solid #ccbbcd;border-radius:50px;padding:6px 10px;background:#ffffffa8}
.kph-root .kph-kicker{font-size:10px;letter-spacing:1.6px;color:#716c78;margin-bottom:7px;font-weight:800}
.kph-root .kph-system-card h3{font-size:31px!important;margin-bottom:12px;color:#252037!important}
.kph-root .kph-system-card>p:not(.kph-kicker){font-size:14px;line-height:1.8;color:#5e5b68;flex:1;margin-bottom:24px}
.kph-root .kph-card-link{font-size:14px;font-weight:800;color:#413054!important;display:inline-flex;align-self:flex-start;align-items:center;gap:5px}
.kph-root .kph-card-link:after{content:"↗";margin-left:4px}.kph-root .kph-card-link:hover{text-decoration:underline!important}
.kph-root .kph-soon{display:block;align-self:flex-start;color:#5d6675;font-size:13px;background:#ffffffbf;border:1px solid #bfcbd2;border-radius:30px;padding:6px 13px}
.kph-root .kph-section-alt{background:#f9f7f3;border-radius:20px;padding:clamp(28px,5vw,62px)}
.kph-root .kph-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:30px}
.kph-root .kph-tool{display:flex;align-items:center;gap:15px;border-radius:12px;border:1px solid #e5ddd5;background:#fff;padding:18px 20px;color:#2d2938!important;transition:border-color .15s,transform .15s}
.kph-root .kph-tool:hover{border-color:#bea884;transform:translateY(-2px)}
.kph-root .kph-tool-icon{width:46px;height:46px;flex-shrink:0;border-radius:12px;background:#f0e7f4;color:#5f4672;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:27px}
.kph-root .kph-tool-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.kph-root .kph-tool-copy strong{font-size:15px}.kph-root .kph-tool-copy small{font-size:12px;color:#777481;line-height:1.4}.kph-root .kph-tool-arrow{margin-left:auto;font-size:21px;color:#997e5d}
.kph-root .kph-method{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}
.kph-root .kph-method-copy>p:last-child{color:#636173;font-size:15px;line-height:1.9}
.kph-root .kph-method-steps{list-style:none!important;margin:0;padding:0;display:flex;flex-direction:column;gap:22px}
.kph-root .kph-method-steps li{display:flex;gap:21px;align-items:flex-start;border-bottom:1px solid #e6e0da;padding-bottom:20px}
.kph-root .kph-method-steps b{font-family:Georgia,serif;font-size:32px;line-height:1;color:#b18d54;font-weight:400}
.kph-root .kph-method-steps span{display:flex;flex-direction:column;gap:5px}.kph-root .kph-method-steps strong{font-size:16px}.kph-root .kph-method-steps small{font-size:14px;color:#6d6975;line-height:1.65}
.kph-root .kph-library{background:#f1eff0;border-radius:20px;padding:clamp(28px,5vw,65px);display:grid;grid-template-columns:1.4fr .6fr;align-items:center;gap:25px}
.kph-root .kph-library p:not(.kph-eyebrow){color:#676270;line-height:1.8;font-size:15px;max-width:610px;margin-bottom:26px}
.kph-root .kph-button-ink{background:#342744;color:#fff!important}.kph-root .kph-button-ink:hover{background:#51365f}
.kph-root .kph-books{width:min(100%,215px);height:295px;margin:0 auto;background:linear-gradient(135deg,#2b2040,#583e62);box-shadow:-11px 0 0 #181529,12px 14px 24px #27213c28;border:1px solid #987c5e;border-radius:3px 10px 10px 3px;color:#e9d1a8;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:space-evenly;padding:14px}
.kph-root .kph-books span{letter-spacing:2px;text-transform:uppercase;font-size:10px}.kph-root .kph-books strong{font:normal 29px/1.25 Georgia,serif}.kph-root .kph-books i{font-size:12px;line-height:1.5}
.kph-root .kph-footnote{padding:27px 12px 15px;text-align:center;color:#817c86;font-size:12px;line-height:1.7}.kph-root .kph-footnote p{margin:0 0 9px}
/* Library page */
.kph-root .kph-book-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:28px 0}
.kph-root .kph-book-card{padding:25px;border:1px solid #e6dfd8;border-radius:15px;background:#f9f7f3;display:flex;flex-direction:column;gap:12px}
.kph-root .kph-book-card h2{font-size:25px!important;margin:0}.kph-root .kph-book-card p{color:#6b6870;flex:1}.kph-root .kph-book-mark{font-size:27px;color:#b2965d}.kph-root .kph-library-deep{border-top:1px solid #eee0d6;padding:30px 0}
/* Optional shortcode navigation; native WP theme menu preferred */
.kph-menu-wrap{max-width:100%;background:#242035;color:#fff!important;position:relative;border-radius:12px;z-index:99}
.kph-menu-wrap.kph-menu--sticky{position:sticky;top:0;z-index:999}
.kph-menu-inner{max-width:1250px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:13px 20px}
.kph-menu-wrap .kph-logo{display:flex;align-items:center;gap:9px;color:#fff!important;font-family:Georgia,serif!important;font-size:23px;font-weight:700;white-space:nowrap;line-height:1.1}
.kph-menu-wrap .kph-logo>span:first-child{color:#dcb575;font-size:27px}.kph-menu-wrap .kph-logo small{display:block;font-family:system-ui,sans-serif;font-size:10px;letter-spacing:1px;font-weight:400;color:#ccbfce;margin-top:4px}
.kph-menu-links{display:flex;align-items:center;gap:clamp(9px,1.4vw,24px)}
.kph-menu-wrap .kph-nav-link{font-size:13px;font-weight:600;color:#ebe4ef!important;white-space:nowrap}
.kph-menu-wrap .kph-nav-link:hover{color:#f3d5a2!important}
.kph-menu-wrap .kph-nav-cta{background:#d6ae6b;color:#201a28!important;border-radius:20px;padding:8px 15px;font-weight:800;font-size:12px;white-space:nowrap}
.kph-menu-button{display:none;border:1px solid #9a86ab;background:transparent;border-radius:8px;width:42px;height:40px;cursor:pointer;flex-direction:column;gap:5px;align-items:center;justify-content:center}
.kph-menu-button span{width:22px;height:2px;background:#fff;display:block}
@media(max-width:1000px){.kph-menu-links{gap:9px}.kph-menu-wrap .kph-nav-link{font-size:12px}.kph-menu-wrap .kph-logo{font-size:20px}}
@media(max-width:780px){
.kph-root .kph-hero{grid-template-columns:1fr;padding:30px 23px;min-height:0}
.kph-root .kph-hero-art{height:260px}.kph-root .kph-orbit{width:245px;height:245px}.kph-root .kph-orbit-two{width:165px;height:165px}
.kph-root .kph-sigil{width:97px;height:127px}.kph-root .kph-sigil>span{font-size:49px}.kph-root .kph-sigil-tarot{transform:translate(-65px,-32px) rotate(-12deg)}.kph-root .kph-sigil-runes{transform:translate(65px,-32px) rotate(12deg)}.kph-root .kph-sigil-iching{transform:translate(0,30px)}
.kph-root .kph-system-grid{grid-template-columns:1fr}.kph-root .kph-system-card{min-height:0}.kph-root .kph-card-top{margin-bottom:22px}
.kph-root .kph-method{grid-template-columns:1fr;gap:24px}.kph-root .kph-library{grid-template-columns:1fr}.kph-root .kph-books{height:235px;width:170px}
.kph-menu-button{display:flex}.kph-menu-wrap .kph-menu-inner{flex-wrap:wrap}
.kph-menu-wrap .kph-menu-links{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:0;padding:5px 0 9px}
.kph-menu-wrap.kph-menu--open .kph-menu-links{display:flex}
.kph-menu-wrap .kph-nav-link{padding:10px 9px;border-bottom:1px solid #ffffff19;font-size:15px}.kph-menu-wrap .kph-nav-cta{align-self:flex-start;margin-top:10px}
}
@media(max-width:520px){.kph-root .kph-tool-grid,.kph-root .kph-book-grid{grid-template-columns:1fr}.kph-root .kph-section-alt{padding:26px 18px}.kph-root .kph-hero h1{font-size:33px!important}.kph-root .kph-lead{font-size:15px}}
@media(prefers-reduced-motion:reduce){.kph-root .kph-button,.kph-root .kph-tool,.kph-root .kph-system-card{transition:none!important}.kph-root .kph-button:hover,.kph-root .kph-tool:hover,.kph-root .kph-system-card:hover{transform:none!important}}
