/* MARA / IMMERSIVE — DIRECTOR'S CUT v3
   Editorial art direction; deliberately scoped to the new MARA shell.
   Business logic, authentication, courses and admin are not restyled here. */
:root{--mxd-ink:#170e1d;--mxd-purple:#a777aa;--mxd-porcelain:#f0eaf0;--mxd-glow:#eee0f9;--mxd-ease:cubic-bezier(.22,1,.36,1)}
body.mx-root{--mxd-header:78px;scroll-behavior:smooth}
body.mx-root .mx-header{height:var(--mxd-header)!important;background:rgba(16,10,21,.73)!important;border-bottom:1px solid rgba(235,217,250,.22)!important;box-shadow:none!important;transition:background .4s,border .4s!important}
body.mx-root header#mx-header.is-scrolled{background:rgba(18,12,24,.94)!important;border-bottom-color:rgba(235,217,250,.16)!important}
body.mx-root .mx-wordmark{font-family:Georgia,'Times New Roman',serif!important;font-weight:600!important;font-size:43px!important;letter-spacing:-.115em!important;text-shadow:0 0 28px #e5b9ed30}
body.mx-root .mx-header-middle{padding:12px 23px!important;backdrop-filter:blur(18px);background:#f4e4f014!important;border:1px solid #f7dcef55!important;border-radius:999px!important;transition:background .22s,color .22s,transform .22s!important}
body.mx-root .mx-header-middle:hover{background:#ddc4e1!important;color:#211124!important;transform:translateY(-2px)}
body.mx-root .mx-menu-toggle{border-color:#f4e4f075!important;border-radius:50%!important;width:49px;height:49px!important;transition:background .25s,transform .25s!important}
body.mx-root .mx-menu-toggle:hover{transform:none!important;background:#eee0f922!important}
body.mx-root #mx-language{min-height:38px!important;color:#f6e6f5!important}
body.mx-root .mx-progress{height:2px!important;background:linear-gradient(90deg,#9a628f 0%,#e8c6f1 65%,#fff8ff 100%)!important}
/* Signature visual language: 1-pixel architectural grids and blush-gold details. */
body.mx-home-page .mx-stage{position:relative;min-height:735px!important;overflow:hidden}
body.mx-home-page .mx-stage:before{content:'';pointer-events:none;z-index:3;position:absolute;inset:calc(var(--mxd-header) + 28px) 3% 34px;border:1px solid rgba(236,210,239,.2);border-bottom-color:transparent}
body.mx-home-page .mx-stage:after{opacity:.11!important}
body.mx-home-page .mx-stage-vignette{background:linear-gradient(90deg,#130b1af7 0%,#1b0c1cdb 27%,#1b0d1e77 53%,#1b0d1d12 86%),linear-gradient(0deg,#12081ce6 0%,transparent 37%,#15091920 100%)!important}
body.mx-home-page .mx-stage-img{filter:saturate(.94) contrast(1.08)!important;background-position:68% 34%!important;will-change:opacity}
body.mx-home-page .mx-stage-grid{opacity:.20!important}
body.mx-home-page .mx-hero-copy{left:8.7%!important;right:8%!important;max-width:1260px!important;top:51%!important;transform:translateY(-42%)!important}
body.mx-home-page .mx-hero-copy h1{font-size:clamp(73px,9.3vw,161px)!important;letter-spacing:-.102em!important;line-height:.91!important;filter:drop-shadow(0 11px 26px rgba(10,5,18,.26))}
body.mx-home-page .mx-hero-copy h1 .mx-second-line{-webkit-text-stroke:1px #f3eaf6!important;color:transparent!important;letter-spacing:-.105em!important}
body.mx-home-page .mx-hero-copy h1 em{font-weight:400!important;color:#f1d9ec!important;font-size:clamp(47px,5.5vw,85px)!important;line-height:1.05!important;max-width:1040px!important;margin:22px 0 0 6%!important;text-shadow:0 10px 36px #190c16b0}
body.mx-home-page .mx-eyebrow{margin-bottom:26px!important;color:#eedaf3!important;font-weight:700!important}
body.mx-home-page .mx-hero-lower{margin:28px 0 0 6%!important;max-width:650px!important;gap:38px!important}
body.mx-home-page .mx-hero-lower p{max-width:400px!important;color:#f4eaf3!important;font-size:14px!important;line-height:1.7!important}
body.mx-home-page .mx-round-action{background:#f0dff4!important;color:#28122e!important;width:77px!important;height:77px!important;border:1px solid #fff9!important;box-shadow:0 0 0 9px #ffffff17,0 13px 45px #0005!important;transition:transform .4s var(--mxd-ease),box-shadow .4s!important}
body.mx-home-page .mx-round-action:hover{transform:translateY(-5px) rotate(45deg)!important;box-shadow:0 0 0 13px #ffffff19,0 21px 45px #0007!important}
body.mx-home-page .mx-hero-rail{top:calc(var(--mxd-header) + 62px)!important;left:8.7%!important;font-size:10px!important}
body.mx-home-page .mx-hero-sidecaption{right:4%!important;top:52%!important;font-size:9px!important;letter-spacing:.34em!important;color:#edcce7bb}
body.mx-home-page .mx-stage-bottom{left:8.7%!important;right:7.5%!important;bottom:43px!important;padding-top:16px!important;z-index:5!important}
body.mx-home-page .mx-scene-nav{width:70px!important;height:58px!important;border:1px solid #fff6!important;transition:background .25s,border .25s,color .25s!important;cursor:pointer}
body.mx-home-page .mx-scene-nav.is-on{background:rgba(231,210,240,.14)!important;border-color:#fae5ff!important}
body.mx-home-page .mx-scene-nav.is-on:after{height:3px!important;background:#f5d8e8!important}
.mxd-direction{position:absolute;z-index:4;left:8.7%;top:25%;display:flex;align-items:center;gap:10px;color:#e8d4e6;font-size:9px;letter-spacing:.26em;writing-mode:vertical-rl;transform:rotate(180deg);opacity:.6;pointer-events:none}
.mxd-direction:before{content:'';display:block;height:35px;width:1px;background:#f0d5ed}
.mxd-scene-meter{display:flex;align-items:center;gap:9px;min-width:70px;justify-content:center;color:#f3dded;font-size:10px;letter-spacing:.08em}
.mxd-scene-meter .mxd-current{font-family:Georgia,serif;font-size:29px;font-style:italic;line-height:1}
.mxd-scene-meter .mxd-line{height:1px;width:25px;background:#e6cce4;opacity:.6}
.mxd-stage-accent{position:absolute;right:7.5%;bottom:151px;z-index:3;display:grid;justify-items:end;gap:9px;font-size:9px;letter-spacing:.22em;color:#eee2efaf;text-align:right;pointer-events:none}
.mxd-stage-accent:before{content:'✳';font-size:31px;line-height:1;color:#fff7ff}
/* Reveal slow tonal movement without changing the actual 3 slides. */
body.mx-home-page .mx-stage-img.is-on{animation:mxd-breathe 12s ease-out both}
@keyframes mxd-breathe{from{transform:scale(1.05)}to{transform:scale(1)}}
/* A more sculptural manifesto with a delicate double frame. */
body.mx-home-page .mx-contrast{background:#e9e1e9!important;padding-block:90px 110px!important}
body.mx-home-page .mx-content-head{border-bottom:1px solid currentColor!important;opacity:.85}
body.mx-home-page .mx-contrast-main{gap:8%!important}
body.mx-home-page .mx-contrast h2{font-size:clamp(64px,6.8vw,112px)!important;letter-spacing:-.085em!important}
body.mx-home-page .mx-contrast h2 em{color:#79486f!important}
body.mx-home-page .mx-contrast-composition{isolation:isolate}
body.mx-home-page .mx-contrast-composition:before{content:'';position:absolute;inset:4% 12% 4% 7%;border:1px solid #8a688563;transform:translate(19px,18px);z-index:-1}
body.mx-home-page .mx-contrast-tall{box-shadow:0 38px 78px #2713232a!important;border-radius:45% 45% 0 0!important}
body.mx-home-page .mx-contrast-small{box-shadow:0 28px 54px #24152438!important}
body.mx-home-page .mx-line-link{border-bottom:1px solid #77556d;padding-bottom:13px;transition:letter-spacing .22s}
body.mx-home-page .mx-line-link:hover{letter-spacing:.08em}
/* The INDEX is an actual interactive gallery directory — each row forms a visual card on hover. */
body.mx-home-page .mx-index{background:#160e1a!important;padding-top:92px!important}
body.mx-home-page .mx-index-title h2{font-family:'Manrope',Arial,sans-serif!important;letter-spacing:-.09em!important}
body.mx-home-page .mx-index-title h2 em{font-family:Georgia,serif!important;letter-spacing:-.07em!important;font-weight:400}
body.mx-home-page .mx-index-row{min-height:158px!important;border-bottom:1px solid #d6c7db45!important;position:relative;overflow:hidden}
body.mx-home-page .mx-index-row:after{content:'';position:absolute;left:0;bottom:0;width:100%;height:100%;background:linear-gradient(90deg,#8a59752b,transparent 45%);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--mxd-ease);pointer-events:none}
body.mx-home-page .mx-index-row:hover:after,body.mx-home-page .mx-index-row:focus-visible:after{transform:scaleX(1)}
body.mx-home-page .mx-idx-name{font-family:Georgia,serif!important;letter-spacing:-.075em!important}
body.mx-home-page .mx-idx-arrow{border:1px solid #dfd0ea77!important;border-radius:50%!important}
body.mx-home-page .mx-floating-image{border:5px solid #eee4ed!important;border-radius:0!important;box-shadow:21px 21px 0 -9px #d9bed9!important}
/* Portfolio as an art exhibition, not a standard ecommerce carousel. */
body.mx-home-page .mx-gallery{background:#ece6ed!important;padding-top:85px!important;padding-bottom:110px!important}
body.mx-home-page .mx-gallery-heading h2{font-family:'Manrope',Arial,sans-serif!important;letter-spacing:-.11em!important;line-height:.85!important}
body.mx-home-page .mx-gallery-heading h2 em{font-family:Georgia,serif!important;font-weight:400!important;letter-spacing:-.08em!important}
body.mx-home-page .mx-shot{position:relative;cursor:zoom-in}
body.mx-home-page .mx-shot img{height:min(42vw,640px)!important;aspect-ratio:3/4!important;object-fit:cover!important}
body.mx-home-page .mx-shot:after{content:'+';position:absolute;top:18px;right:18px;width:41px;height:41px;border-radius:50%;background:#f6eef2ed;color:#231728;font-size:30px;display:grid;place-items:center;font-weight:300;pointer-events:none;opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s}
body.mx-home-page .mx-shot:hover:after,body.mx-home-page .mx-shot:focus-within:after{opacity:1;transform:none}
body.mx-home-page .mx-shot span{font-size:10px!important;letter-spacing:.24em!important}
body.mx-home-page .mx-gallery-controls button{border-radius:50%!important;transition:transform .25s var(--mxd-ease),background .2s!important}
body.mx-home-page .mx-gallery-controls button:hover{transform:scale(1.06)}
/* Cinema turns into a motion-driven chapter. Poster is always present even when video is unavailable. */
body.mx-home-page .mx-film-feature{background:#211327!important;min-height:680px!important}
body.mx-home-page .mx-film-feature-art{background:#352037}
body.mx-home-page .mx-film-feature-art video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;z-index:1;filter:brightness(.78) contrast(1.04) saturate(.8)}
body.mx-home-page .mx-film-feature-art img{z-index:0}
body.mx-home-page .mx-film-feature-copy{background:radial-gradient(ellipse at 20% 20%,#63395873,transparent 74%);padding-left:clamp(52px,7vw,128px)!important}
body.mx-home-page .mx-film-feature h2{font-size:clamp(70px,7.7vw,126px)!important;font-weight:780!important}
body.mx-home-page .mx-film-feature h2 em{font-family:Georgia,serif!important;font-weight:400!important}
body.mx-home-page .mx-film-feature a{min-height:65px!important;border-radius:0!important;background:#e6d4e7!important;transition:background .2s,transform .2s!important}
body.mx-home-page .mx-film-feature a:hover{background:#fff3f6!important;transform:translateY(-3px)}
body.mx-home-page .mx-join{background:#41233f!important}
body.mx-home-page .mx-join-cta{background:#e9d4ed!important}
/* Inner chapter banners should feel equal in quality to the hero. */
body.mx-subpage .mx-inner-narrative{background:radial-gradient(ellipse at 70% 45%,#6b3f5f 0%,#271828 49%,#151019 90%)!important;isolation:isolate}
body.mx-subpage .mx-inner-narrative:after{content:'';position:absolute;inset:100px 4% 25px;border:1px solid #ead9e529;z-index:-1;pointer-events:none}
body.mx-subpage .mx-inner-inner h1{letter-spacing:-.102em!important;text-wrap:balance}
body.mx-subpage .mx-inner-inner h1 em{font-family:Georgia,serif!important;font-weight:400!important;color:#ead2e5!important}
body.mx-subpage .mx-inner-inner figure{border-radius:47% 47% 2px 2px!important;border:5px solid #efdce42b!important;box-shadow:0 30px 80px #1408157c!important;overflow:hidden}
body.mx-subpage .mx-inner-cta{background:#e9d8e8!important;color:#2c1b32!important;border-radius:0!important;padding-inline:26px!important}
body.mx-subpage .mx-chapter-rail{background:#eae2ea!important;border-bottom:1px solid #cab9c6!important}
body.mx-subpage .mx-chapter-rail a[aria-current=page]{color:#6b3767!important}
/* Photography fullscreen viewer, one layer for the complete archive. */
.mxd-viewer[hidden]{display:none!important}
.mxd-viewer{position:fixed;inset:0;z-index:15000;background:rgba(14,8,18,.97);display:grid;grid-template-rows:auto minmax(0,1fr) auto;color:#fff;backdrop-filter:blur(25px)}
.mxd-viewer-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px clamp(16px,4vw,64px);border-bottom:1px solid #fff3;font-size:11px;letter-spacing:.25em;font-weight:600}
.mxd-viewer button{font:inherit;color:#fff;background:transparent;border:1px solid #e6d5ed88;cursor:pointer;border-radius:50%;display:grid;place-items:center;transition:background .2s,transform .2s}
.mxd-viewer button:hover{background:#fff2;transform:scale(1.035)}
.mxd-viewer button:focus-visible{outline:2px solid #e8caff;outline-offset:4px}
.mxd-close{height:50px;width:50px;font-size:26px!important;line-height:1}
.mxd-viewer-image-wrap{min-height:0;display:flex;justify-content:center;align-items:center;position:relative;padding:24px 86px;overflow:hidden}
.mxd-viewer-image-wrap img{height:100%;width:auto;max-width:100%;object-fit:contain;box-shadow:0 30px 80px #0007}
.mxd-viewer-nav{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;font-size:28px!important;z-index:2}
.mxd-viewer-nav.prev{left:clamp(16px,3vw,50px)}.mxd-viewer-nav.next{right:clamp(16px,3vw,50px)}
.mxd-viewer-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:19px clamp(20px,4vw,64px);border-top:1px solid #fff3;color:#e1d2e4;font-size:11px;letter-spacing:.18em}
.mxd-image-click{position:absolute;inset:0;z-index:2;border:0!important;border-radius:0!important;background:transparent!important;color:transparent!important;cursor:zoom-in!important;width:100%;height:calc(100% - 25px)}
.mxd-image-click:focus-visible{outline:3px solid #6a3b68!important;outline-offset:-5px!important}
/* Small-screen architecture: preserve portrait and keep information readable without overlays. */
@media(max-width:850px){body.mx-root{--mxd-header:67px}body.mx-root .mx-wordmark{font-size:35px!important}body.mx-home-page .mx-stage:before{inset:85px 4% 19px}body.mx-home-page .mx-hero-rail{left:7%!important;top:98px!important}body.mx-home-page .mx-hero-sidecaption,.mxd-direction,.mxd-stage-accent{display:none!important}body.mx-home-page .mx-stage-img{background-position:55% 24%!important}body.mx-home-page .mx-stage-vignette{background:linear-gradient(0deg,#130a18 0%,#160b1adf 24%,#180d1ce3 41%,#190e2050 70%,transparent 100%)!important}body.mx-home-page .mx-hero-copy{top:auto!important;left:7%!important;right:7%!important;bottom:137px!important;transform:none!important}body.mx-home-page .mx-hero-copy h1{font-size:clamp(48px,11.9vw,78px)!important;line-height:.95!important;letter-spacing:-.08em!important}body.mx-home-page .mx-hero-copy h1 em{font-size:clamp(30px,7.9vw,56px)!important;margin:11px 0 0!important}body.mx-home-page .mx-hero-lower{margin:19px 0 0!important;gap:20px!important}body.mx-home-page .mx-hero-lower p{font-size:12px!important;max-width:calc(100% - 80px)!important}body.mx-home-page .mx-round-action{width:60px!important;height:60px!important;flex:0 0 60px!important}body.mx-home-page .mx-stage-bottom{bottom:24px!important;left:7%!important;right:7%!important}body.mx-home-page .mx-scene-nav{width:43px!important;height:45px!important}.mxd-scene-meter{display:none}body.mx-home-page .mx-contrast{padding:65px 6% 85px!important}body.mx-home-page .mx-contrast h2{font-size:clamp(45px,10vw,70px)!important}body.mx-home-page .mx-index{padding:65px 6% 85px!important}body.mx-home-page .mx-index-row{min-height:105px!important}body.mx-home-page .mx-gallery{padding:55px 0 83px!important}body.mx-home-page .mx-shot img{height:105vw!important;max-height:550px!important}body.mx-home-page .mx-film-feature{min-height:0!important}body.mx-home-page .mx-film-feature-art{min-height:410px!important}body.mx-home-page .mx-film-feature-copy{padding:75px 7% 85px!important}body.mx-home-page .mx-film-feature h2{font-size:clamp(58px,12vw,87px)!important}body.mx-subpage .mx-inner-narrative:after{inset:89px 4% 20px}body.mx-subpage .mx-inner-inner h1{font-size:clamp(51px,11.7vw,78px)!important}.mxd-viewer-image-wrap{padding:20px 46px}.mxd-viewer-nav{width:39px;height:39px;font-size:23px!important}.mxd-viewer-nav.prev{left:6px}.mxd-viewer-nav.next{right:6px}}
@media(max-width:375px){body.mx-root{--mxd-header:64px}body.mx-home-page .mx-hero-copy{bottom:143px!important}body.mx-home-page .mx-hero-copy h1{font-size:11.5vw!important}body.mx-home-page .mx-hero-copy h1 em{font-size:7.2vw!important}body.mx-home-page .mx-eyebrow{letter-spacing:.1em!important;font-size:8px!important}body.mx-home-page .mx-hero-lower p{font-size:11px!important}body.mx-home-page .mx-stage-bottom{left:6%!important;right:6%!important}body.mx-home-page .mx-scene-nav{width:39px!important;height:44px!important}body.mx-root .mx-menu-toggle{width:42px;height:42px!important}body.mx-home-page .mx-gallery-heading h2{font-size:12vw!important}}
@media(prefers-reduced-motion:reduce){body.mx-root *,body.mx-root *::before,body.mx-root *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}body.mx-home-page .mx-stage-img.is-on{animation:none!important}}

body.mx-home-page .mx-film-feature-art:after{z-index:2!important;pointer-events:none}
body.mx-home-page .mx-film-feature-stamp{z-index:3!important}
