.mx-companion{padding-top:64px;padding-bottom:80px}
.mx-companion__cover-stage{padding:clamp(20px,3vw,40px);background:#e9dfcf;border-radius:20px}
.mx-companion__cover{aspect-ratio:148/210;padding:clamp(22px,3vw,42px);display:flex;flex-direction:column;justify-content:space-between;position:relative;background:#f8f2e7;border:1px solid #c9b28c;box-shadow:0 18px 40px #4b382224;color:#59422a;text-align:center;user-select:none}
.mx-companion__cover::before{content:'';position:absolute;inset:12px;border:1px solid #c9b28c80;pointer-events:none}
.mx-companion__cover-brand{font:clamp(12px,1.3vw,18px) var(--mx-serif);letter-spacing:.17em;text-transform:uppercase}
.mx-companion__cover-main{padding-block:24px}
.mx-companion__cover-title{font:clamp(38px,4.6vw,66px)/1.05 var(--mx-serif);letter-spacing:-.035em;margin:22px 0}
.mx-companion__cover-rule{display:block;width:56px;height:1px;background:#a17b43;margin:24px auto}
.mx-companion__cover-subtitle{font:clamp(14px,1.5vw,20px)/1.6 var(--mx-serif);max-width:24ch;margin:auto}
.mx-companion__cover-format{font-size:11px;line-height:1.7;letter-spacing:.04em;max-width:26ch;margin-inline:auto}
.mx-companion__hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,88px);align-items:start}
.mx-companion__gallery{background:#e8dfd4;padding:28px;border-radius:20px}
.mx-companion__gallery .mx-gallery__slide{aspect-ratio:419.53/595.28;background:#fff;box-shadow:0 14px 32px #241d171f;overflow:hidden}
.mx-companion__gallery .mx-gallery__slide img{display:block;width:100%;height:100%;object-fit:contain;transform:none}
.mx-companion__gallery .mx-gallery__thumbs{justify-content:center;margin:24px 0 0}
.mx-companion__gallery .mx-gallery__thumbs button{width:58px;height:80px;border-radius:4px}
.mx-companion__gallery .mx-gallery__thumbs img{width:100%;height:100%;object-fit:contain}
.mx-companion__copy h1{font-family:var(--font-heading-family,serif);font-size:clamp(42px,5.2vw,78px);line-height:1;letter-spacing:-.045em;margin:22px 0 28px}
.mx-companion__copy p{line-height:1.75}
.mx-companion__lead{font-size:21px;max-width:30ch}
.mx-companion__format{border-top:1px solid #d9cfc3;border-bottom:1px solid #d9cfc3;padding:18px 0;margin:26px 0}
.mx-companion__price{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin:22px 0 12px}
.mx-companion__price strong{font:30px var(--font-heading-family,serif)}
.mx-companion__price span{font-size:13px;color:#5c534a}
.mx-companion__bundle{margin:22px 0 16px;padding:18px 20px;background:#efe4d0;border:1px solid #cdb68f;border-radius:14px}
.mx-companion__bundle-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.mx-companion .mx-companion__bundle h2{font:26px/1.15 var(--mx-serif);margin:0;letter-spacing:-.02em}
.mx-companion__bundle-heading>span{padding:5px 10px;border-radius:30px;background:#f8f2e7;color:#70552e;font-size:12px;font-weight:600}
.mx-companion__bundle p{font-size:13px;line-height:1.65;margin:12px 0}
.mx-companion__bundle .mx-text-link{font-size:13px;min-height:44px;display:inline-flex;align-items:center;gap:22px}
.mx-site .mx-companion__bundle details{border:0;margin:8px 0 0;border-top:1px solid #cdb68f80}
.mx-site .mx-companion .mx-companion__bundle summary{display:flex;align-items:center;justify-content:space-between;padding:10px 0;min-height:40px;font:12px/1.5 var(--mx-sans);cursor:pointer}
.mx-companion__bundle details p{font-size:12px;color:#5c534a}
.mx-companion__copy .mx-button{width:100%;margin:15px 0}
.mx-companion__draft{font-size:12px;color:#6f5540;line-height:1.5;padding:12px 14px;border:1px solid #d7c6b4;border-radius:10px}
.mx-companion__inside{border-top:1px solid #d9cfc3;margin-top:88px;padding-top:54px}
.mx-companion h2,.mx-companion-teaser h2{font:clamp(30px,4vw,52px)/1.08 var(--font-heading-family,serif);letter-spacing:-.025em}
.mx-companion__chapters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;margin-top:34px}
.mx-companion__chapters article{border-top:1px solid #d9cfc3;padding-top:24px}
.mx-companion__chapters h3{font:30px var(--font-heading-family,serif);margin:18px 0}
.mx-companion__chapters p{line-height:1.8}
.mx-companion__details{display:grid;grid-template-columns:1fr 1fr;gap:72px;border-top:1px solid #d9cfc3;margin-top:70px;padding-top:44px}
.mx-companion__details details{border-bottom:1px solid #d9cfc3}
.mx-companion__details summary{display:flex;justify-content:space-between;gap:18px;padding:22px 0;cursor:pointer}
.mx-companion__details details p{line-height:1.8;margin:0 0 24px}
.mx-companion-addon{border:1px solid #d8c8ae;background:#f6f0e6;border-radius:14px;padding:14px 16px 6px;margin:18px 0;min-width:0;color:#654c2d;transition:background .15s,border-color .15s}
.mx-companion-addon:has(input:checked){border-color:#a18350;background:#eee2ce}
.mx-companion-addon__choice{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:start;gap:10px;min-height:44px;cursor:pointer}
.mx-companion-addon .mx-companion-addon__choice input{appearance:none;-webkit-appearance:none;width:18px;height:18px;min-height:18px;padding:0;flex:none;margin:3px 0 0;border:1.5px solid #a48a60;border-radius:5px;background:#fffaf3;background-position:center;background-size:12px 12px;background-repeat:no-repeat;cursor:pointer}
.mx-companion-addon .mx-companion-addon__choice input:checked{border-color:#76572d;background-color:#76572d;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 8 3 3 7-7' fill='none' stroke='%23fffaf3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.mx-companion-addon__choice:has(input:disabled),.mx-companion-addon .mx-companion-addon__choice input:disabled{cursor:not-allowed}
.mx-companion-addon .mx-companion-addon__choice input:disabled{opacity:.5}
.mx-companion-addon__choice:has(input:focus-visible){outline:2px solid #9b7b47;outline-offset:5px;border-radius:5px}
.mx-companion-addon__heading{min-width:0;display:grid;gap:4px}
.mx-companion-addon__heading strong{font:600 14px/1.35 var(--mx-sans)}
.mx-companion-addon__heading small{font:12px/1.45 var(--mx-sans);color:#78644b}
.mx-companion-addon__price{font:600 12px/1.3 var(--mx-sans);background:#e8d9bf;border:1px solid #d8c39e;border-radius:99px;padding:6px 10px;white-space:nowrap}
.mx-companion-addon .mx-companion-addon__format{font:12px/1.45 var(--mx-sans);margin:8px 0 0 30px;color:#78644b}
.mx-companion-addon .mx-companion-addon__restriction{font:11px/1.45 var(--mx-sans);margin:4px 0 0 30px;color:#78644b}
.mx-companion-addon__eligibility{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:10px 0 0 30px;border-top:1px solid #ded0b9;padding-top:6px}
.mx-companion-addon__eligibility p{font:12px/1.45 var(--mx-sans);margin:0}
.mx-companion-addon__eligibility button{border:0;border-bottom:1px solid #a68c65;background:none;padding:8px 0;min-height:40px;flex:none;font:600 12px/1.3 var(--mx-sans);color:#654c2d}
.mx-companion-addon__footer{position:relative;margin:6px 0 0 30px;min-height:40px}
.mx-companion-addon__footer>a{position:absolute;top:0;left:0;display:flex;align-items:center;min-height:40px;width:max-content;text-decoration:underline;text-underline-offset:3px;font:12px/1.4 var(--mx-sans)}
.mx-companion-addon__footer details{display:block;border:0;margin:0;padding:0}
.mx-site .mx-companion-addon .mx-companion-addon__footer summary{display:flex;gap:10px;justify-content:space-between;align-items:center;cursor:pointer;min-height:40px;width:max-content;margin-left:auto;padding:0;list-style:none;font:12px/1.4 var(--mx-sans)}
.mx-companion-addon__footer summary::-webkit-details-marker{display:none}
.mx-companion-addon__footer details[open] summary span{transform:rotate(45deg)}
.mx-companion-addon__footer details p{font:12px/1.6 var(--mx-sans);margin:0 0 10px;color:#78644b;border-top:1px solid #ded0b9;padding-top:10px}
@media(max-width:480px){.mx-companion-addon{padding:13px 12px 5px}.mx-companion-addon__choice{gap:8px}.mx-companion-addon__heading strong{font-size:13px}.mx-companion-addon__price{padding:5px 8px}.mx-companion-addon .mx-companion-addon__format,.mx-companion-addon .mx-companion-addon__restriction,.mx-companion-addon__footer,.mx-companion-addon__eligibility{margin-left:28px}}
@media(prefers-reduced-motion:reduce){.mx-companion-addon{transition:none}}
.mx-companion-teaser{display:grid;grid-template-columns:1fr 1fr;gap:72px;margin:64px auto;padding-top:44px;padding-bottom:44px;border-top:1px solid #d9cfc3;border-bottom:1px solid #d9cfc3}
.mx-companion-teaser p{line-height:1.8}
.mx-companion-menu-link{display:block;margin-top:16px}
@media(max-width:720px){.mx-companion{padding-top:30px}.mx-companion__hero,.mx-companion__details,.mx-companion-teaser{grid-template-columns:1fr;gap:28px}.mx-companion__gallery{padding:18px;max-width:440px;margin:auto;width:100%}.mx-companion__chapters{grid-template-columns:1fr;gap:22px}.mx-companion__inside{margin-top:50px}.mx-companion__copy h1{font-size:48px}.mx-companion__lead{font-size:18px}.mx-companion-teaser{margin:38px auto}.mx-companion__details{margin-top:44px}}
