/* Madison Mission: shared public interaction and visual refinements. */
:root{--mm-purple:var(--brand-primary,#241236);--mm-gold:var(--brand-accent,#d9b24c);--mm-ink:var(--brand-text,#14110b)}
.skip-link{position:fixed;left:20px;top:-100px;z-index:1000;background:var(--brand-accent,#d9b24c);color:#080807;padding:14px 22px;border-radius:8px;font-weight:700}.skip-link:focus{top:12px}
:focus-visible{outline:3px solid var(--brand-accent,#d9b24c);outline-offset:5px}button,a,input,textarea{touch-action:manipulation}main{scroll-margin-top:145px}body.is-loading{overflow:auto}.page-loader{display:none}
.site-header{top:40px;background:linear-gradient(color-mix(in srgb,var(--brand-primary,#241236) 85.1%,transparent),color-mix(in srgb,var(--brand-primary,#241236) 33.3%,transparent));border-bottom:1px solid #ffffff24}.header-inner{min-height:96px}.logo-link img{max-height:76px}.primary-nav>a,.primary-nav .nav-link{padding:15px 0}.primary-nav>a:hover,.primary-nav .nav-link:hover{color:var(--brand-accent-light,#f7df93)}.primary-nav .is-current{color:var(--brand-accent-light,#f7df93)}
.nav-dropdown{border-radius:12px;border:1px solid color-mix(in srgb,var(--brand-accent,#d9b24c) 33.3%,transparent)}.has-dropdown:focus-within .nav-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.hero{min-height:740px;height:92svh;max-height:980px}.hero-content{width:min(1140px,calc(100% - 112px));text-align:left;padding-top:95px}.hero h1{font-size:clamp(58px,8.5vw,112px);letter-spacing:-.055em}.hero p{margin-top:24px;max-width:680px;font-size:clamp(22px,3vw,34px);line-height:1.35}.hero-actions{justify-content:flex-start;gap:14px;margin-top:32px}.hero-slide:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--brand-primary,#241236) 65.1%,transparent),transparent 90%);pointer-events:none}.hero-content{z-index:4}.button{min-height:52px;border-radius:8px;box-shadow:none;padding:0 26px}.button-gold{background:var(--brand-accent,#d9b24c);color:var(--brand-text,#14110b)}.button-outline{background:#08080726}.button:hover{transform:translateY(-2px)}
.slider-arrow{width:44px;height:44px;min-height:44px;border:1px solid #ffffff55;border-radius:50%;font-size:30px;background:color-mix(in srgb,var(--brand-primary,#241236) 53.3%,transparent);top:auto;bottom:35px;transform:none}.slider-arrow-left{left:auto;right:122px}.slider-arrow-right{right:66px}.slide-count{left:70px;right:auto;bottom:45px}.hero-pause{position:absolute;z-index:8;bottom:35px;left:145px;border:1px solid #ffffff66;color:#fff;background:color-mix(in srgb,var(--brand-primary,#241236) 53.3%,transparent);border-radius:24px;padding:12px 18px;min-height:44px;cursor:pointer}.scroll-down{bottom:34px}.news-ticker-label{background:var(--brand-accent,#d9b24c)}.ticker-pause{background:#080807;color:var(--brand-accent-light,#f7df93);border:0;border-left:1px solid #ffffff33;align-self:stretch;min-width:72px;cursor:pointer;font-size:11px}.news-ticker:focus-within .news-ticker-track,.news-ticker.is-paused .news-ticker-track{animation-play-state:paused}.news-ticker.is-paused .news-ticker-viewport{overflow-x:auto}.news-ticker [aria-hidden=true]{pointer-events:none}
.promo{background:var(--brand-bg,#fff);color:var(--brand-text,#14110b);padding:70px 0;border:0}.promo::before{display:none}.promo-inner{align-items:center;gap:40px}.promo h2{color:var(--brand-primary,#241236);font-size:clamp(27px,3vw,40px);letter-spacing:-1px}.promo p{color:var(--brand-muted,#655e68);font-size:18px;line-height:1.65}.promo-button{background:var(--brand-primary,#241236);color:white;border-color:var(--brand-primary,#241236);flex-shrink:0}.service-times{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.service-time{border:1px solid var(--brand-line,#e5dfeb);background:var(--brand-surface,#f8f6fa);border-radius:10px;padding:14px 18px;font-size:13px;line-height:1.7;color:#51465b}.service-time strong{display:block;color:var(--brand-primary,#241236)}
.tile-grid{background:var(--brand-surface,#f8f6fa);gap:24px;padding:48px max(24px,calc((100% - 1140px*var(--brand-width,1))/2)) 72px;grid-template-columns:repeat(2,minmax(0,1fr))}.feature-tile{height:310px;border-radius:16px}.feature-tile span{font-size:24px;letter-spacing:-.3px;bottom:30px}.feature-tile span::after{content:'';float:right;width:.9em;height:.9em;margin-top:.1em;background:var(--brand-accent-light,#f7df93);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M9 7h8v8'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M9 7h8v8'/%3E%3C/svg%3E") center/contain no-repeat}.feature-tile:hover{transform:translateY(-4px)}.site-footer{background:var(--brand-dark,#100c14)}.footer-inner{padding-top:18px;padding-bottom:18px}.footer-social a{min-width:44px;min-height:44px}
.page-banner{background:linear-gradient(120deg,var(--brand-primary,#241236),#080807);padding-bottom:70px}.page-banner h1{letter-spacing:-2px}.contact-section{background:var(--brand-surface,#f8f6fa)}.contact-form{background:var(--brand-bg,#fff);padding:32px;border:1px solid var(--brand-line,#e8e1ee);border-radius:16px;box-shadow:0 12px 40px color-mix(in srgb,var(--brand-primary,#241236) 3.1%,transparent)}.contact-form input:not([type=radio]),.contact-form textarea{border-radius:8px;background:var(--brand-surface,#faf9fb);font-size:16px}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--brand-primary-2,#66318f);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-primary-2,#66318f) 10.2%,transparent)}.chip span{border-radius:8px;min-height:44px}.chip input:checked+span{background:var(--brand-primary,#241236);color:#fff;border-color:var(--brand-primary,#241236)}.chip input:focus-visible+span{outline:3px solid var(--brand-accent-ink,#9f741d);outline-offset:3px}.contact-details{background:var(--brand-bg,#fff);border:1px solid var(--brand-line,#e8e1ee);border-radius:14px;padding:26px}.field-error{color:#a22434}.contact-aside{position:sticky;top:165px}
.pb-page .mm-card{border:1px solid var(--brand-line,#e7dfec);border-radius:14px;overflow:hidden;transition:box-shadow .2s,transform .2s}.pb-page .mm-card-copy{padding:24px}.pb-page .mm-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px color-mix(in srgb,var(--brand-primary,#241236) 7.1%,transparent)}.pb-page .mm-toolbar input,.pb-page .mm-month-buttons button{border-radius:8px;min-height:44px}.pb-page .mm-event-info{border-radius:12px}.pb-page .mm-menu{min-height:44px;border-radius:8px}.mm-subnav{position:relative}.mm-subnav summary{color:white;font-size:12px;cursor:pointer;text-transform:uppercase;padding:14px 0}.mm-subnav-links{position:absolute;top:100%;right:0;min-width:180px;background:var(--brand-primary,#241236);padding:16px;border-radius:10px;display:grid;gap:18px;box-shadow:0 8px 20px #0003}.pb-page .mm-header nav a{padding:10px 0}.pb-page .mm-header nav a[aria-current=page]{color:var(--brand-accent-light,#f7df93)}
@media(max-width:980px){.primary-nav{border:1px solid color-mix(in srgb,var(--brand-accent,#d9b24c) 26.7%,transparent);border-radius:0 0 14px 14px;max-height:calc(100dvh - 145px);overflow-y:auto}.hero{min-height:680px}.hero-content{width:calc(100% - 64px)}.contact-aside{position:static}}
@media(max-width:620px){.hero{height:84svh;min-height:660px}.hero-content{width:calc(100% - 40px);padding-top:80px}.hero h1{font-size:58px}.hero p{font-size:24px;margin-top:18px}.hero-actions{gap:10px;margin-top:26px}.hero-actions .button{min-width:0;padding:0 20px;font-size:12px}.slide-count{left:22px;bottom:40px}.hero-pause{left:90px;bottom:30px}.slider-arrow-left{right:76px;bottom:30px}.slider-arrow-right{right:22px;bottom:30px}.scroll-down{display:none}.promo{padding:44px 0}.promo-inner{gap:24px}.service-times{display:grid}.tile-grid{grid-template-columns:1fr;padding:28px 20px 44px;gap:20px}.feature-tile{height:280px}.contact-form{padding:22px 16px}.contact-details{padding:22px}.contact-inner{gap:28px}.ticker-pause{min-width:58px}.mm-subnav-links{position:static;box-shadow:none}.mm-header nav{max-height:70dvh;overflow:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}.hero-content{opacity:1;transform:none}.reveal-up,.reveal-left{opacity:1!important;transform:none!important}}
@media(min-width:981px){.primary-nav{gap:28px}}
.hero-overlay{background:linear-gradient(90deg,rgba(24,10,37,.6),rgba(8,8,7,.16)),linear-gradient(0deg,rgba(8,8,7,.45),transparent 70%)}
.pb-page .page-hero-content{padding:150px 24px 70px}.pb-page .page-hero-title{line-height:1.08}.pb-page .announce-card{border:1px solid var(--brand-line,#e7dfec);border-radius:14px;overflow:hidden}.pb-page .announce-title{font-family:Arial,sans-serif}.pb-page .post-body{font-size:18px;line-height:1.85}
@media(max-width:980px){.news-ticker,.news-ticker.is-fixed{top:0;height:40px;position:fixed}.site-header,.site-header.is-fixed{top:40px;position:fixed;background:color-mix(in srgb,var(--brand-primary,#241236) 92.9%,transparent)}.header-inner{min-height:86px}.logo-link img{height:64px;width:auto}.primary-nav{top:100%}.primary-nav:not(.is-open){visibility:hidden;pointer-events:none}.hero-content{opacity:1}.hero-actions{align-items:flex-start}.hero-actions .button{width:auto}.slide-count{display:flex}}
.hero-slide.is-active .hero-content{opacity:1;animation:none;transform:none}
.contact-card{background:var(--brand-bg,#fff);border:1px solid var(--brand-line,#e8e1ee);box-shadow:0 12px 40px color-mix(in srgb,var(--brand-primary,#241236) 3.1%,transparent);border-radius:16px}.contact-card-head{border-bottom-color:var(--brand-line,#e8e1ee)}.contact-card-head h2{color:var(--brand-primary,#241236)}.contact-card-head p{color:var(--brand-muted,#655e68)}.contact-form{padding:0;border:0;box-shadow:none;border-radius:0}.field-label label,.field-legend{color:var(--brand-primary,#241236)}.field-flag,.field-count,.form-required-key,.form-note{color:var(--brand-muted,#716275)}.contact-form input:not([type=radio]),.contact-form textarea{color:var(--brand-primary,#241236);border-color:var(--brand-line,#d9d0df)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#807586}.chip span{color:#51445c;border-color:var(--brand-line,#d9d0df);background:var(--brand-surface,#faf8fc)}.field-count.is-near-limit{color:var(--brand-accent-ink,#896416)}.field-count.is-over-limit{color:#a22434}.form-required-key span{color:var(--brand-accent-ink,#896416)}
.pb-page .page-hero-content{width:min(1140px,calc(100% - 40px));max-width:1140px;margin:0 auto;text-align:center}.pb-page .page-hero-title{font-size:clamp(40px,6vw,76px);margin:20px auto;max-width:100%;overflow-wrap:anywhere}.pb-page .page-hero-content .eyebrow-pill{justify-content:center}.field input,.field textarea{scroll-margin-top:170px}

/* Text fields show their own focus styling (border colour) instead of the gold focus ring. */
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=button]):not([type=submit]):not([type=reset]):not([type=file]):not([type=color]):focus,textarea:focus{outline:none!important}
/* Drawn arrow for “go to” links, replacing the ↗ character that phones render as a colour emoji. Takes the link's colour. */
.mm-go{display:inline-block;width:.95em;height:.95em;margin-left:.15em;vertical-align:-.12em;flex:none;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
