/* Matches the shared McCastle Magic palette. Every rule is mount-scoped. */
#media-kit-root { --rose:#d8a7b1; --mauve:#b07c87; --sage:#b2c2b1; --ink:#2e2e2e; --gray:#5c5c5c; --cream:#f5eee6; --paper:#fff8f1; background:var(--paper); color:var(--ink); font:16px/1.7 'DM Sans',Inter,ui-sans-serif,system-ui,sans-serif; }
#media-kit-root *, #media-kit-root *::before, #media-kit-root *::after { box-sizing:border-box; }
#media-kit-root h1, #media-kit-root h2, #media-kit-root h3, #media-kit-root p, #media-kit-root figure, #media-kit-root dl, #media-kit-root dd { margin:0; }
#media-kit-root img { max-width:100%; }
#media-kit-root a { color:inherit; text-decoration:none; }
#media-kit-root button { font:inherit; cursor:pointer; }
#media-kit-root a:focus-visible, #media-kit-root button:focus-visible, #media-kit-root summary:focus-visible { outline:3px solid var(--ink); outline-offset:5px; }
#media-kit-root h1, #media-kit-root h2, #media-kit-root .mk-work-meta h3, #media-kit-root .mk-options h3 { font-family:'Playfair Display',Georgia,serif; font-weight:400; letter-spacing:-.03em; }
#media-kit-root h2 { font-size:clamp(2rem,3.5vw,3.5rem); line-height:1.1; }
#media-kit-root .mk-width { width:min(88%,1160px); margin-inline:auto; }
#media-kit-root .mk-section { padding-block:40px; }
#media-kit-root .mk-eyebrow { color:var(--gray); font-size:11px; font-weight:600; letter-spacing:.19em; text-transform:uppercase; margin-bottom:.8rem; }
#media-kit-root .mk-intro { display:grid; grid-template-columns:160px minmax(0,1fr); align-items:center; gap:clamp(2rem,5vw,4.5rem); padding-block:2.75rem; border-bottom:1px solid var(--rose); }
#media-kit-root .mk-portrait { padding:8px 8px 16px; background:var(--cream); transform:rotate(-1deg); box-shadow:0 4px 12px #8a817c1f; }
#media-kit-root .mk-portrait img { display:block; width:100%; height:auto; object-fit:contain; }
#media-kit-root .mk-intro h1 { font-size:clamp(2.7rem,4.8vw,4.8rem); line-height:1.07; letter-spacing:-.04em; }
#media-kit-root .mk-intro h1 em { color:var(--mauve); font-weight:400; }
#media-kit-root .mk-summary { color:var(--gray); max-width:50ch; margin:.75rem 0 .4rem; }
#media-kit-root .mk-tagline { color:var(--gray); font:italic 19px/1.5 'Playfair Display',Georgia,serif; }
#media-kit-root .mk-links { display:flex; flex-wrap:wrap; gap:.8rem 1.5rem; margin-top:1rem; }
#media-kit-root .mk-text-link { display:inline-flex; align-items:center; min-height:44px; padding:8px 0; border-bottom:1px solid var(--ink); font-size:13px; }
#media-kit-root .mk-section-intro { display:flex; justify-content:space-between; align-items:end; gap:2rem; margin-bottom:2rem; }
#media-kit-root .mk-section-intro > p { max-width:26rem; color:var(--gray); }
#media-kit-root .mk-community { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem 2rem; }
#media-kit-root .mk-community > div > span { display:flex; align-items:center; gap:.5rem; color:var(--gray); font-size:13px; }
#media-kit-root .mk-community strong { display:block; font:400 2.25rem/1.5 'Playfair Display',Georgia,serif; font-variant-numeric:lining-nums tabular-nums; }
#media-kit-root .mk-details { margin-top:1rem; font-size:13px; color:var(--gray); }
#media-kit-root .mk-details summary { cursor:pointer; min-height:44px; padding-block:10px; color:var(--ink); }
#media-kit-root .mk-details p { margin:.6rem 0; }
#media-kit-root .mk-results, #media-kit-root .mk-services { position:relative; isolation:isolate; background:var(--cream); }
#media-kit-root .mk-results::before, #media-kit-root .mk-services::before { content:''; position:absolute; z-index:-1; inset:0; background:linear-gradient(115deg,rgba(255,255,255,.18),rgba(138,129,124,.035) 48%,rgba(255,255,255,.12)); pointer-events:none; }
#media-kit-root .mk-period { display:flex; flex-shrink:0; border:1px solid var(--rose); padding:3px; }
#media-kit-root .mk-period button { border:0; min-height:44px; padding:9px 14px; background:transparent; color:var(--ink); font-size:13px; }
#media-kit-root .mk-period button[aria-pressed="true"] { background:var(--rose); }
#media-kit-root .mk-context { max-width:58rem; margin:-1rem 0 1.5rem; color:var(--gray); font-size:14px; }
#media-kit-root .mk-reports { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-block:1px solid var(--rose); }
#media-kit-root .mk-reports article { min-width:0; padding:1.5rem; border-bottom:1px solid var(--rose); }
#media-kit-root .mk-reports article:nth-child(odd) { padding-left:0; border-right:1px solid var(--rose); }
#media-kit-root .mk-reports article:nth-last-child(-n+2) { border-bottom:0; }
#media-kit-root .mk-report-title { display:flex; align-items:center; flex-wrap:wrap; gap:.7rem; }
#media-kit-root .mk-report-title h3 { font-size:14px; font-weight:600; }
#media-kit-root .mk-saved { font-size:10px; background:var(--paper); padding:3px 6px; }
#media-kit-root .mk-reports p { font-size:13px; line-height:1.6; color:var(--gray); margin:.7rem 0; }
#media-kit-root .mk-reports .mk-checked { font-size:12px; }
#media-kit-root .mk-views { display:block; font:400 clamp(2.6rem,4vw,3.6rem)/1.2 'Playfair Display',Georgia,serif; font-variant-numeric:lining-nums tabular-nums; margin-top:1.1rem; }
#media-kit-root .mk-reports dl { display:flex; flex-wrap:wrap; gap:1.2rem; margin:1rem 0; }
#media-kit-root .mk-reports dt { font-size:12px; color:var(--gray); text-transform:capitalize; }
#media-kit-root .mk-reports dd { font-size:16px; }
#media-kit-root .mk-reports .mk-notice { font-size:12px; }
#media-kit-root .mk-portfolio { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; align-items:start; }
#media-kit-root .mk-work-card { min-width:0; display:block; }
#media-kit-root .mk-work-image { position:relative; padding:7px 7px 16px; background:var(--cream); box-shadow:0 6px 18px #8a817c20; }
#media-kit-root .mk-work-card:nth-child(2) .mk-work-image { background:var(--sage); }
#media-kit-root .mk-work-card:nth-child(3) .mk-work-image { background:var(--rose); }
#media-kit-root .mk-work-image img { display:block; width:100%; height:auto; max-height:350px; object-fit:contain; }
#media-kit-root .mk-work-image img:not([width]) { aspect-ratio:9/16; }
#media-kit-root .mk-no-image { display:block; aspect-ratio:9/16; padding-top:50%; text-align:center; }
#media-kit-root .mk-platform { position:absolute; top:14px; left:14px; background:var(--paper); padding:3px 7px; font-size:10px; }
#media-kit-root .mk-work-meta { padding-top:1rem; }
#media-kit-root .mk-work-meta > span { color:var(--gray); font-size:11px; }
#media-kit-root .mk-work-meta h3 { font-size:clamp(1.4rem,2vw,1.8rem); line-height:1.2; margin:.4rem 0 .8rem; }
#media-kit-root .mk-metrics { display:flex; flex-wrap:wrap; gap:.4rem .8rem; color:var(--gray); font-size:12px; }
#media-kit-root .mk-work-meta .mk-watch { font-size:12px; font-weight:500; display:inline-block; margin-top:1rem; border-bottom:1px solid var(--ink); }
#media-kit-root .mk-small { font-size:13px; color:var(--gray); margin-top:1.5rem; }
#media-kit-root .mk-inquiry { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:1rem; border-top:1px solid var(--rose); padding-top:1.4rem; margin-top:1.5rem; font-size:14px; }
#media-kit-root .mk-services { background:var(--sage); }
#media-kit-root .mk-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2.5rem; }
#media-kit-root .mk-options article { border-top:1px solid var(--ink); padding-top:1.2rem; }
#media-kit-root .mk-options article > span { font-size:12px; }
#media-kit-root .mk-options h3 { font-size:26px; line-height:1.25; margin-block:1rem; }
#media-kit-root .mk-options p { font-size:16px; }
#media-kit-root .mk-partnership-note { font-size:13px; margin-top:1.5rem; }
#media-kit-root .mk-contact { padding-block:28px; display:grid; grid-template-columns:1fr 1fr; gap:3rem; }
#media-kit-root .mk-contact p:not(.mk-eyebrow) { margin-bottom:.8rem; }
#media-kit-root .mk-email { display:inline-block; max-width:100%; overflow-wrap:anywhere; font:clamp(1.1rem,2vw,1.65rem)/1.5 'Playfair Display',Georgia,serif; border-bottom:1px solid var(--ink); }
#media-kit-root .mk-contact-actions { margin-top:1.4rem; }
#media-kit-root .mk-button { display:inline-flex; justify-content:center; min-height:48px; padding:13px 22px; background:var(--ink); color:var(--paper); border:1px solid var(--ink); font-size:13px; text-align:center; }
#media-kit-root .mk-button:hover { background:var(--sage); color:var(--ink); }
#media-kit-root .mk-loading, #media-kit-root .mk-error { width:min(88%,1160px); margin:auto; padding-block:4rem; }
#media-kit-root .mk-error h1 { font-size:clamp(2.5rem,4vw,4rem); }
#media-kit-root .mk-error p { margin:1rem 0; }
#media-kit-root .mk-error a { text-decoration:underline; }
@media (max-width:850px) {
 #media-kit-root .mk-section-intro { display:block; }
 #media-kit-root .mk-section-intro > p, #media-kit-root .mk-period { margin-top:1.3rem; }
 #media-kit-root .mk-period { width:max-content; }
 #media-kit-root .mk-options { gap:1.5rem; }
}
@media (max-width:640px) {
 #media-kit-root .mk-intro { grid-template-columns:76px minmax(0,1fr); gap:18px; align-items:start; padding-block:2rem; }
 #media-kit-root .mk-portrait { padding:5px 5px 10px; }
 #media-kit-root .mk-intro h1 { font-size:clamp(2.1rem,8vw,3rem); line-height:1.06; }
 #media-kit-root .mk-intro h1 em { display:block; }
 #media-kit-root .mk-intro .mk-eyebrow { font-size:10px; letter-spacing:.09em; }
 #media-kit-root .mk-summary { font-size:14px; line-height:1.6; }
 #media-kit-root .mk-tagline { font-size:16px; }
 #media-kit-root .mk-links { gap:.6rem 1rem; }
 #media-kit-root .mk-section { padding-block:28px; }
 #media-kit-root h2 { font-size:34px; }
 #media-kit-root .mk-community { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; }
 #media-kit-root .mk-community strong { font-size:2rem; }
 #media-kit-root .mk-period { width:100%; }
 #media-kit-root .mk-period button { flex:1; padding-inline:10px; }
 #media-kit-root .mk-reports { grid-template-columns:1fr; }
 #media-kit-root .mk-reports article, #media-kit-root .mk-reports article:nth-child(odd), #media-kit-root .mk-reports article:nth-last-child(-n+2) { padding:1.5rem 0; border:0; border-bottom:1px solid var(--rose); }
 #media-kit-root .mk-reports article:last-child { border-bottom:0; }
 #media-kit-root .mk-portfolio { grid-template-columns:1fr; gap:2rem; }
 #media-kit-root .mk-work-card { display:grid; grid-template-columns:104px minmax(0,1fr); gap:18px; align-items:start; }
 #media-kit-root .mk-work-image { padding:5px 5px 12px; }
 #media-kit-root .mk-work-meta { padding:0; }
 #media-kit-root .mk-work-meta h3 { font-size:22px; margin:.35rem 0 .6rem; }
 #media-kit-root .mk-platform { top:9px; left:9px; font-size:9px; padding:3px; }
 #media-kit-root .mk-options { grid-template-columns:1fr; gap:1.8rem; }
 #media-kit-root .mk-options h3 { margin-block:.6rem; }
 #media-kit-root .mk-contact { padding-block:22px; grid-template-columns:1fr; gap:1.5rem; }
 #media-kit-root .mk-email { font-size:19px; }
}
