.pmf-special-formats{padding:88px 0;background:#fff7f4;overflow:hidden}
.pmf-special-formats__heading{max-width:820px;margin:0 auto 38px;text-align:center}
.pmf-special-formats__heading h2{margin:0;color:#58464b;font-family:var(--serif);font-size:clamp(38px,4vw,58px);font-weight:500;line-height:1.05}
.pmf-special-formats__heading>p{margin:16px 0 0;color:#7a676d;font-size:16px;line-height:1.65}
.pmf-special-formats__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.pmf-special-format{min-width:0;overflow:hidden;border:1px solid rgba(107,36,55,.1);border-radius:28px;background:#fffdfb}
.pmf-special-format__visual{aspect-ratio:4/3;overflow:hidden;background:#f3e0dc}
.pmf-special-format__visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 38%}
.pmf-special-format__visual--poster img{object-fit:contain;object-position:center;background:#f3e0dc}
.pmf-special-format__visual--illustration img{object-fit:contain;object-position:center;background:#f9e7df}
.pmf-special-format summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px;cursor:pointer;list-style:none}
.pmf-special-format summary::-webkit-details-marker{display:none}
.pmf-special-format summary:focus-visible{outline:2px solid #c86f82;outline-offset:-5px;border-radius:12px}
.pmf-special-format h3{margin:0;color:#58464b;font-family:var(--serif);font-size:clamp(26px,2.2vw,33px);font-weight:600;line-height:1.08}
.pmf-special-format__toggle{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border:1px solid #e6bdc7;border-radius:50%;color:#b56678;font-size:24px;line-height:1;transition:transform .2s ease}
.pmf-special-format details[open] .pmf-special-format__toggle{transform:rotate(45deg)}
.pmf-special-format details>p{margin:0;padding:0 24px 27px;color:#756268;font-size:14px;line-height:1.75}
.pmf-special-formats__actions{display:flex;justify-content:center;margin-top:34px}
.pmf-special-formats__actions a{gap:12px;text-align:center;white-space:normal}
.studio-concept-caption{position:absolute;z-index:3;top:16px;left:16px;max-width:calc(100% - 32px);padding:8px 12px;border-radius:12px;background:rgba(107,36,55,.88);color:#fff;font-size:11px;line-height:1.5;pointer-events:none}
.studio-concept-caption[hidden]{display:none}
@media(max-width:1050px){.pmf-special-formats__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.pmf-special-formats{padding:64px 0}.pmf-special-formats__grid{grid-template-columns:1fr;gap:20px}.pmf-special-formats__heading{margin-bottom:28px}.pmf-special-format summary{padding:21px}.pmf-special-format details>p{padding:0 21px 24px}.pmf-special-formats__actions a{max-width:100%}.studio-concept-caption{top:12px;left:12px;max-width:calc(100% - 80px);font-size:10px}}
@media(prefers-reduced-motion:reduce){.pmf-special-format__toggle{transition:none}}

.pmf-special-formats--cards{padding:32px 0 64px;background:#fffaf7}
.pmf-special-formats--rose{background:#f6dddf}
.pmf-special-formats--cards .pmf-special-formats__shell{width:min(calc(100% - 40px),1600px)}
.pmf-special-formats--cards .pmf-special-formats__heading{max-width:none;margin:0 0 30px;text-align:left}
.pmf-special-formats--cards .pmf-special-formats__heading h2{font-size:calc(clamp(34px,3.4vw,52px) - 2px);line-height:1}
.pmf-special-formats--cards .pmf-special-formats__heading>p{max-width:850px;margin-top:14px;color:#d98c97;font-family:var(--script);font-size:clamp(28px,2.6vw,38px);font-weight:400;line-height:1.15}
.pmf-special-formats--cards .pmf-special-formats__grid{gap:14px;align-items:stretch}
.pmf-special-formats--cards .pmf-special-format{height:auto;max-height:none;border:0;border-radius:18px;background:#fdf0f1}
.pmf-special-formats--cards .training-card-copy h3{display:flex;align-items:center;flex-shrink:0;height:3.09em;color:#6b4d56;font-family:var(--serif);font-size:clamp(25px,1.75vw,31px);font-weight:600;line-height:1.03}
.pmf-special-formats--cards .pmf-special-format__summary{flex-shrink:0;height:83px;margin-top:7px;font-family:var(--sans);font-size:15px;line-height:1.38;-webkit-line-clamp:4}
.pmf-special-formats--cards .pmf-special-format__visual{height:100%;aspect-ratio:auto;background:#f3e0dc;padding:0}
.pmf-special-formats--cards .pmf-special-format__visual img{object-fit:cover;object-position:center}
.pmf-special-formats--cards .pmf-special-format__visual--illustration img{object-fit:contain;background:#f9e7df}
.pmf-special-format__more{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-height:42px;max-width:100%;margin-top:8px;padding:0 22px;border:0;border-radius:999px;background:#c86f82;color:#fff;font-family:inherit;font-size:12px;font-weight:700;letter-spacing:.01em;cursor:pointer;transition:background-color .2s ease,transform .2s ease}
.pmf-special-format__more:hover{background:#b95f73;transform:translateY(-1px)}
.pmf-special-format__more:focus-visible,.pmf-special-dialog__close:focus-visible{outline:2px solid #6b2437;outline-offset:3px}
.pmf-special-dialog{width:min(680px,calc(100% - 32px));max-width:none;max-height:calc(100svh - 32px);margin:auto;padding:44px 36px 32px;overflow:auto;overscroll-behavior:contain;border:0;border-radius:26px;background:#fffaf7;color:#58464b;box-shadow:0 24px 80px rgba(60,28,39,.25)}
.pmf-special-dialog::backdrop{background:rgba(61,27,37,.48);backdrop-filter:blur(5px)}
.pmf-special-dialog__close{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:#f6dddf;color:#ad596d;cursor:pointer}
.pmf-special-dialog__close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.pmf-special-dialog h2{margin:0;padding-right:28px;font-family:var(--serif);font-size:clamp(32px,3vw,44px);font-weight:500;line-height:1.08}
.pmf-special-dialog__body p{margin:22px 0 0;color:#756268;font-size:15px;line-height:1.8}
.pmf-special-dialog .pmf-special-formats__actions{justify-content:flex-start;margin-top:26px}
.pmf-special-dialog .pmf-special-formats__actions a{min-height:44px;background:#c86f82;color:#fff;line-height:1.5}
.pmf-special-dialog .pmf-special-formats__actions a:hover{background:#b95f73}
html:has(.pmf-special-dialog[open]){overflow:hidden;scrollbar-gutter:stable}
@media(max-width:1180px){.pmf-special-formats--cards .pmf-special-formats__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.pmf-special-formats--cards .pmf-special-formats__shell{width:min(calc(100% - 36px),var(--max))}.pmf-special-formats--cards .pmf-special-formats__heading{text-align:center}.pmf-special-formats--cards .pmf-special-formats__heading>p{margin-inline:auto}.pmf-special-formats--cards .pmf-special-formats__grid{display:flex;grid-template-columns:none}}
@media(max-width:620px){.pmf-special-formats--cards .pmf-special-formats__shell{width:min(calc(100% - 24px),var(--max))}.pmf-special-formats--cards .pmf-special-formats__heading h2{font-size:calc(clamp(30px,9vw,42px) - 2px)}.pmf-special-formats--cards .pmf-special-format{border-radius:16px}.pmf-special-formats--cards .training-card-copy h3{font-size:20px}.pmf-special-formats--cards .pmf-special-format__summary{height:70px;margin-top:8px;font-size:12px;line-height:1.45;-webkit-line-clamp:4}.pmf-special-format__more{min-height:38px;margin-top:7px;padding:0 19px;font-size:11px}.pmf-special-dialog{padding:58px 24px 26px;border-radius:22px}.pmf-special-dialog h2{padding-right:0}.pmf-special-dialog__body p{font-size:14px;line-height:1.75}.pmf-special-dialog .pmf-special-formats__actions a{width:100%;padding:12px 18px}}
@media(max-width:420px){.pmf-special-formats--cards .pmf-special-format__summary{height:76px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.pmf-special-format__more{transition:none}}

.pmf-special-formats--cards .training-card-media::after{
        content:"";
        position:absolute;
        inset:0;
        z-index:1;
        background:linear-gradient(90deg,#fdf0f1 0,rgba(253,240,241,.45) 8px,transparent 26px);
        pointer-events:none;
    }
