
:root{--mm-blue:#93cfff;--mm-blue2:#d5eeff;--mm-deep:#0c2b55;--mm-gold:#f5d68e;--mm-gold2:#fff1bb;--mm-ink:#15335b;--mm-white:#fffdf7;--mm-glass:rgba(255,255,255,.13)}
body.book-heaven[data-page="miraculous-medal"]>.celestial-world-bg{
  background:
    linear-gradient(90deg,rgba(9,27,71,.12),rgba(255,255,255,.02) 45%,rgba(66,36,99,.06)),
    linear-gradient(180deg,rgba(25,74,132,.08),rgba(255,224,166,.07) 60%,rgba(8,27,73,.19)),
    url('theme-backgrounds/mary-heaven.png') center 20%/cover no-repeat!important;
  filter:saturate(1.08) contrast(1.02) brightness(.98)!important;
}
body.book-heaven[data-page="miraculous-medal"] .celestial-page-panel{width:min(1180px,78vw)!important;max-width:1180px!important;padding:16px 18px 24px!important;background:linear-gradient(145deg,rgba(192,222,255,.075),rgba(164,112,217,.055))!important;border-color:rgba(242,220,255,.30)!important;backdrop-filter:blur(3px) saturate(1.04)!important;-webkit-backdrop-filter:blur(3px) saturate(1.04)!important}
body.book-heaven[data-page="miraculous-medal"] .celestial-masthead{background:linear-gradient(180deg,rgba(255,255,255,.58),rgba(247,242,255,.36))!important;border-color:rgba(194,160,236,.24)!important}
body.book-heaven[data-page="miraculous-medal"] .celestial-masthead .cm-page{color:#344979!important}
.mm-page{color:var(--mm-ink);overflow:hidden;border-radius:28px}
.mm-hero{position:relative;min-height:690px;display:grid;grid-template-columns:minmax(0,.92fr) minmax(390px,1.08fr);align-items:center;gap:34px;padding:clamp(34px,5vw,68px);border:1px solid rgba(255,246,219,.45);border-radius:34px;overflow:hidden;background:linear-gradient(100deg,rgba(255,255,255,.74),rgba(241,248,255,.40) 44%,rgba(255,255,255,.06) 72%),radial-gradient(circle at 76% 42%,rgba(255,239,181,.32),transparent 30%);box-shadow:0 24px 72px rgba(31,48,96,.19),inset 0 1px 0 rgba(255,255,255,.64)}
.mm-hero:before{content:"";position:absolute;inset:-30%;pointer-events:none;background:conic-gradient(from 210deg at 74% 45%,transparent 0 8%,rgba(255,247,211,.24) 8% 9%,transparent 9% 14%,rgba(255,255,255,.20) 14% 15%,transparent 15% 23%,rgba(255,237,171,.19) 23% 24%,transparent 24% 100%);animation:mmSpin 38s linear infinite}
@keyframes mmSpin{to{transform:rotate(360deg)}}
.mm-copy{position:relative;z-index:2;max-width:560px}.mm-kicker{font:900 11px/1.2 ui-sans-serif,system-ui;letter-spacing:.26em;text-transform:uppercase;color:#6b6ba3}.mm-copy h1{margin:15px 0 14px;font:400 clamp(48px,6.2vw,88px)/.91 Georgia,serif;color:#173969;letter-spacing:-.035em;text-wrap:balance}.mm-copy h1 span{display:block;margin-top:11px;font:700 13px/1.3 ui-sans-serif,system-ui;letter-spacing:.19em;text-transform:uppercase;color:#9b7543}.mm-copy .lead{margin:0;max-width:520px;font:400 clamp(18px,2vw,24px)/1.55 Georgia,serif;color:#40597a}.invocation{margin:26px 0 0;padding:19px 22px;border-left:3px solid #e1b95e;border-radius:0 18px 18px 0;background:linear-gradient(90deg,rgba(255,248,220,.62),rgba(255,255,255,.20));font:400 clamp(19px,2.1vw,25px)/1.45 Georgia,serif;color:#5e4626}.invocation cite{display:block;margin-top:8px;font:800 10px/1.2 ui-sans-serif,system-ui;letter-spacing:.16em;text-transform:uppercase;color:#817295;font-style:normal}.mm-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:26px}.mm-btn,.mm-link{appearance:none;border:1px solid rgba(128,106,171,.30);border-radius:999px;padding:12px 17px;background:rgba(255,255,255,.55);color:#354f7a;text-decoration:none;font:800 12px/1 ui-sans-serif,system-ui;cursor:pointer;box-shadow:0 9px 24px rgba(35,61,105,.09);transition:.25s}.mm-btn:hover,.mm-link:hover,.mm-btn:focus-visible,.mm-link:focus-visible{transform:translateY(-2px);background:#fff;border-color:rgba(208,164,83,.58);outline:none;box-shadow:0 12px 28px rgba(56,71,126,.15),0 0 20px rgba(244,211,133,.22)}
.medal-stage{position:relative;z-index:2;min-height:590px;display:grid;place-items:center;perspective:1700px;isolation:isolate}.medal-stage:before{content:"";position:absolute;width:min(520px,94%);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(231,247,255,.44) 0,rgba(133,174,255,.22) 28%,rgba(189,132,255,.13) 47%,rgba(255,224,153,.08) 59%,transparent 72%);filter:blur(9px);box-shadow:0 0 90px rgba(122,179,255,.25),0 0 150px rgba(177,123,255,.16);animation:breathe 5.5s ease-in-out infinite;z-index:-1}.medal-stage:after{content:"✦   ·   ✧   ·   ✦   ·   ✧   ·   ✦";position:absolute;top:6%;left:50%;transform:translateX(-50%);width:100%;text-align:center;color:rgba(232,245,255,.88);font-size:18px;letter-spacing:.65em;text-shadow:0 0 14px #fff,0 0 30px rgba(127,184,255,.72),0 0 42px rgba(206,158,255,.42);pointer-events:none}
@keyframes breathe{50%{transform:scale(1.06);opacity:.82}}
.medal-tilt{position:relative;width:clamp(270px,29vw,390px);aspect-ratio:2/3;animation:floatMedal 5.4s ease-in-out infinite;filter:drop-shadow(0 28px 34px rgba(24,40,94,.30)) drop-shadow(0 0 24px rgba(122,185,255,.20))}
@keyframes floatMedal{50%{transform:translateY(-13px) rotateZ(.7deg)}}
.medal-card{position:absolute;inset:0;transform-style:preserve-3d;transition:transform 1.25s cubic-bezier(.2,.72,.16,1);will-change:transform;cursor:pointer;outline:none}.medal-card:focus-visible{filter:drop-shadow(0 0 14px rgba(255,255,255,.95)) drop-shadow(0 0 26px rgba(124,185,255,.85))}.medal-face{position:absolute;inset:0;display:grid;place-items:center;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform-style:preserve-3d}.medal-face.back{transform:rotateY(180deg)}.medal-face img{width:100%;height:100%;display:block;object-fit:contain;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 0 14px rgba(157,209,255,.24));transition:filter .4s}.medal-card:hover .medal-face img{filter:drop-shadow(0 0 18px rgba(173,220,255,.34)) drop-shadow(0 0 34px rgba(201,164,255,.18))}.medal-caption{position:absolute;left:50%;bottom:2.2%;transform:translateX(-50%);z-index:5;min-width:max-content;padding:8px 13px;border:1px solid rgba(223,239,255,.45);border-radius:999px;background:rgba(31,48,92,.34);backdrop-filter:blur(12px);color:#f7fbff;font:800 10px/1 ui-sans-serif,system-ui;letter-spacing:.11em;text-transform:uppercase;box-shadow:0 8px 22px rgba(18,36,80,.16);pointer-events:none}.medal-auto-note{position:absolute;left:50%;bottom:-16px;transform:translateX(-50%);width:max-content;max-width:96%;color:rgba(64,82,128,.76);font:800 9px/1.35 ui-sans-serif,system-ui;letter-spacing:.08em;text-transform:uppercase;text-align:center}
.mm-jump{position:sticky;top:8px;z-index:30;display:flex;justify-content:center;gap:6px;flex-wrap:wrap;width:max-content;max-width:94%;margin:16px auto 30px;padding:7px;border:1px solid rgba(121,111,178,.20);border-radius:999px;background:rgba(252,252,255,.67);backdrop-filter:blur(18px);box-shadow:0 10px 28px rgba(30,47,86,.12)}.mm-jump a{text-decoration:none;color:#53668b;padding:8px 11px;border-radius:999px;font:800 10px/1 ui-sans-serif,system-ui;text-transform:uppercase;letter-spacing:.07em}.mm-jump a:hover{background:#fff;color:#8c6732}
.mm-section{position:relative;margin:28px 0;padding:clamp(28px,4vw,52px);border:1px solid rgba(255,255,255,.52);border-radius:30px;background:linear-gradient(145deg,rgba(255,255,255,.77),rgba(245,249,255,.49));box-shadow:0 20px 54px rgba(23,48,94,.10);overflow:hidden}.mm-section:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 90% 0,rgba(255,225,158,.18),transparent 24rem)}.section-kicker{position:relative;font:900 10px/1.2 ui-sans-serif,system-ui;letter-spacing:.24em;text-transform:uppercase;color:#8e7146}.mm-section h2{position:relative;margin:10px 0 14px;max-width:850px;font:400 clamp(34px,4.6vw,60px)/1.02 Georgia,serif;color:#1e4274;letter-spacing:-.02em}.mm-section .intro{position:relative;max-width:850px;margin:0;color:#526985;font:400 clamp(17px,1.8vw,21px)/1.62 Georgia,serif}
.story-grid{position:relative;display:grid;grid-template-columns:260px 1fr;gap:28px;align-items:start;margin-top:30px}.year-card{min-height:240px;display:grid;place-items:center;text-align:center;padding:24px;border:1px solid rgba(222,187,105,.38);border-radius:27px;background:radial-gradient(circle at 50% 30%,rgba(255,248,216,.95),rgba(224,239,255,.58));box-shadow:inset 0 0 35px rgba(255,219,123,.17)}.year-card strong{display:block;font:400 70px/1 Georgia,serif;color:#b58a43}.year-card span{display:block;margin-top:8px;font:900 10px/1.4 ui-sans-serif,system-ui;letter-spacing:.18em;text-transform:uppercase;color:#6b7895}.story-copy p{margin:0 0 16px;color:#4c6380;font:400 18px/1.7 Georgia,serif}.story-copy p:last-child{margin-bottom:0}.source-note{font:800 10px/1.5 ui-sans-serif,system-ui!important;text-transform:uppercase;letter-spacing:.08em;color:#8993a8!important}.source-note a{color:#74619a}
.grace-band{min-height:410px;display:grid;place-items:center;text-align:center;margin:30px 0;padding:50px 24px;border-radius:32px;overflow:hidden;position:relative;background:linear-gradient(180deg,rgba(31,75,126,.17),rgba(255,246,218,.58)),url('theme-backgrounds/mary-heaven.png') 44% 39%/cover no-repeat;box-shadow:0 25px 62px rgba(28,52,98,.20)}.grace-band:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 51% 15%,rgba(255,250,223,.80),transparent 32%),linear-gradient(90deg,rgba(16,61,109,.18),rgba(255,255,255,.06),rgba(37,72,109,.16))}.grace-inner{position:relative;max-width:790px;padding:28px 34px;border:1px solid rgba(255,255,255,.55);border-radius:27px;background:rgba(255,255,255,.42);backdrop-filter:blur(10px);box-shadow:0 20px 54px rgba(16,40,80,.13)}.grace-inner .tiny{font:900 10px/1.2 ui-sans-serif,system-ui;letter-spacing:.25em;text-transform:uppercase;color:#816e59}.grace-inner blockquote{margin:12px 0 7px;font:400 clamp(30px,4.5vw,58px)/1.14 Georgia,serif;color:#234875;text-shadow:0 1px 0 #fff}.grace-inner cite{font:800 10px/1.3 ui-sans-serif,system-ui;text-transform:uppercase;letter-spacing:.12em;color:#8f7142;font-style:normal}
.symbol-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}.symbol-card{padding:22px;border:1px solid rgba(108,128,170,.17);border-radius:22px;background:rgba(255,255,255,.46);box-shadow:inset 0 1px 0 rgba(255,255,255,.70)}.symbol-icon{width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(211,175,93,.42);border-radius:50%;background:radial-gradient(circle,#fffce9,#edf6ff);font:400 25px/1 Georgia,serif;color:#b7873c;box-shadow:0 0 20px rgba(238,203,115,.15)}.symbol-card h3{margin:13px 0 7px;font:400 24px/1.1 Georgia,serif;color:#294b77}.symbol-card p{margin:0;color:#60718a;font:500 14px/1.55 ui-sans-serif,system-ui}.symbol-card small{display:block;margin-top:10px;color:#a07c43;font:800 9px/1.4 ui-sans-serif,system-ui;letter-spacing:.12em;text-transform:uppercase}
.not-charm{display:grid;grid-template-columns:80px 1fr;gap:19px;align-items:center;margin-top:26px;padding:20px 22px;border-radius:22px;background:linear-gradient(90deg,rgba(240,247,255,.84),rgba(255,249,227,.65));border:1px solid rgba(166,151,190,.20)}.not-charm .cross-orb{width:70px;height:70px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#dcefff,#fff7d3);color:#7f6a9d;font:37px/1 Georgia,serif;box-shadow:inset 0 0 0 1px rgba(190,156,84,.28),0 8px 20px rgba(65,83,119,.10)}.not-charm strong{display:block;margin-bottom:5px;color:#304d75;font:400 24px/1.1 Georgia,serif}.not-charm p{margin:0;color:#65748a;font:500 14px/1.6 ui-sans-serif,system-ui}
.prayer-room{position:relative;margin:30px 0;padding:clamp(35px,5vw,62px);border-radius:32px;overflow:hidden;background:linear-gradient(110deg,rgba(19,65,118,.86),rgba(47,64,133,.72) 54%,rgba(147,93,148,.55)),url('theme-backgrounds/mary-heaven.png') center 40%/cover no-repeat;box-shadow:0 28px 68px rgba(16,35,78,.30);color:#fff}.prayer-room:before{content:"";position:absolute;inset:-40%;background:radial-gradient(circle at 72% 42%,rgba(255,244,186,.34),transparent 23%),conic-gradient(from 220deg at 72% 42%,transparent 0 10%,rgba(255,242,185,.17) 10% 11%,transparent 11% 20%,rgba(255,255,255,.15) 20% 21%,transparent 21% 100%);transition:opacity .7s;opacity:.65}.prayer-room.offered:before{opacity:1;animation:mmSpin 16s linear infinite}.prayer-grid{position:relative;display:grid;grid-template-columns:1fr .9fr;gap:30px;align-items:center}.prayer-copy .section-kicker{color:#ffe6ac}.prayer-copy h2{margin:10px 0 12px;font:400 clamp(38px,5vw,66px)/1.02 Georgia,serif;color:#fffbe9}.prayer-copy p{margin:0;color:#e8f0ff;font:400 18px/1.65 Georgia,serif}.prayer-form{padding:22px;border:1px solid rgba(255,255,255,.34);border-radius:25px;background:rgba(8,32,74,.39);backdrop-filter:blur(14px);box-shadow:inset 0 1px 0 rgba(255,255,255,.15)}.prayer-form label{display:block;margin-bottom:8px;color:#fff5cc;font:800 10px/1.2 ui-sans-serif,system-ui;letter-spacing:.14em;text-transform:uppercase}.prayer-form textarea{width:100%;min-height:112px;resize:vertical;border:1px solid rgba(255,255,255,.27);border-radius:16px;padding:14px;background:rgba(255,255,255,.10);color:#fff;font:500 15px/1.5 ui-sans-serif,system-ui;outline:none}.prayer-form textarea::placeholder{color:#d8e3f3}.prayer-form textarea:focus{border-color:#f6d88d;box-shadow:0 0 0 3px rgba(246,216,141,.13)}.prayer-form .privacy{margin:8px 0 12px;color:#dbe7f8;font:500 10px/1.4 ui-sans-serif,system-ui}.prayer-form .mm-btn{background:#fff6cf;color:#5b4e62;border-color:#ffe6a3}.prayer-status{min-height:22px;margin-top:11px;color:#fff4bd;font:700 12px/1.4 ui-sans-serif,system-ui}
.prayer-invocation{margin:30px 0 0;padding:28px;text-align:center;border:1px solid rgba(255,255,255,.26);border-radius:22px;background:rgba(255,255,255,.11);font:400 clamp(25px,3.5vw,44px)/1.25 Georgia,serif;color:#fffce9;text-shadow:0 2px 12px rgba(19,35,82,.30)}
.closing{position:relative;min-height:390px;display:grid;place-items:center;text-align:center;padding:55px 25px;margin-top:30px;border-radius:32px;background:radial-gradient(circle at 50% 35%,rgba(255,246,206,.78),rgba(235,245,255,.52) 34%,rgba(190,218,255,.20) 64%,transparent),linear-gradient(180deg,rgba(255,255,255,.66),rgba(237,245,255,.42));border:1px solid rgba(255,255,255,.60);overflow:hidden}.closing:before,.closing:after{content:"✦";position:absolute;color:#e0b966;font-size:33px;text-shadow:0 0 20px #fff}.closing:before{left:12%;top:17%}.closing:after{right:13%;bottom:19%}.closing-inner{max-width:780px}.closing .section-kicker{color:#937243}.closing h2{margin:12px 0 10px;font:400 clamp(38px,5vw,68px)/1.02 Georgia,serif;color:#294d79}.closing p{margin:0 auto;max-width:680px;color:#5c6d82;font:400 20px/1.62 Georgia,serif}.closing .mm-actions{justify-content:center}
.mm-sources{margin:26px 0 4px;text-align:center;color:#8390a3;font:600 10px/1.7 ui-sans-serif,system-ui}.mm-sources a{color:#75649b}
@media(max-width:1080px){body.book-heaven[data-page="miraculous-medal"] .celestial-page-panel{width:94vw!important}.mm-hero{grid-template-columns:1fr 390px;padding:36px}.symbol-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){body.book-heaven[data-page="miraculous-medal"] .celestial-page-panel{width:calc(100% - 16px)!important;padding:10px!important}.mm-hero{grid-template-columns:1fr minmax(250px,330px);min-height:560px;gap:15px;padding:25px}.mm-copy h1{font-size:45px}.mm-copy .lead{font-size:16px}.invocation{font-size:17px}.medal-stage{min-height:480px}.medal-tilt{width:min(300px,38vw)}.story-grid{grid-template-columns:190px 1fr}.prayer-grid{grid-template-columns:1fr 1fr}.symbol-card{padding:17px}}
@media(prefers-reduced-motion:reduce){.mm-hero:before,.medal-tilt,.medal-stage:before,.prayer-room.offered:before{animation:none!important}.medal-card{transition:transform .01ms!important}}


/* V89 devotional visual lock */
html,body{max-width:100%!important;overflow-x:hidden!important}
.v89-devotional-shell{
  width:min(1100px,calc(100% - 18px))!important;
  max-width:calc(100vw - 18px)!important;
  min-width:0!important;
  margin:0 auto!important;
  padding:4px 0 28px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow-x:hidden!important;
}
body[data-page] main,
body[data-page] .wrap,
body[data-page] .mm-page,
body[data-page] .ga-grid,
body[data-page] .pagegrid{
  max-width:100%!important;
  min-width:0!important;
  overflow-x:hidden!important;
}
body[data-page] *{min-width:0}

body[data-page="miraculous-medal"] .v89-page-shell{padding-top:4px}
body[data-page="miraculous-medal"] .mm-page{width:min(960px,100%)!important;margin:0 auto!important;padding:12px 0 28px!important}
body[data-page="miraculous-medal"] .mm-hero{text-align:center!important;padding:14px 8px 18px!important}
body[data-page="miraculous-medal"] .mm-hero h1{
  color:var(--v89-navy)!important;font:700 clamp(2.2rem,5vw,4rem)/.98 Georgia,serif!important
}
body[data-page="miraculous-medal"] .mm-hero p,
body[data-page="miraculous-medal"] .intro{color:#405e7d!important}
body[data-page="miraculous-medal"] .section-kicker{color:var(--v89-gold)!important}
body[data-page="miraculous-medal"] .mm-section,
body[data-page="miraculous-medal"] .symbol-card,
body[data-page="miraculous-medal"] .prayer-box{
  background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important
}
body[data-page="miraculous-medal"] .mm-section{
  padding:20px 0!important;border-top:1px solid var(--v89-line)!important
}
body[data-page="miraculous-medal"] .symbol-card{
  padding:12px 0!important;border-top:1px solid rgba(120,96,57,.10)!important
}
body[data-page="miraculous-medal"] h2,
body[data-page="miraculous-medal"] h3{color:var(--v89-navy)!important;font-family:Georgia,serif!important}
body[data-page="miraculous-medal"] .symbol-icon{color:var(--v89-gold)!important}
body[data-page="miraculous-medal"] .mm-btn,
body[data-page="miraculous-medal"] .mm-link,
body[data-page="miraculous-medal"] #offerPrayer,
body[data-page="miraculous-medal"] #clearPrayer{
  background:transparent!important;border:0!important;box-shadow:none!important;color:var(--v89-navy)!important;
  text-decoration:underline!important;text-underline-offset:3px!important
}
body[data-page="miraculous-medal"] textarea{
  max-width:100%!important;background:rgba(255,255,255,.5)!important;border:1px solid rgba(151,104,24,.18)!important;color:#203f68!important
}
