/* The architecture of clarity — editorial art direction, Elementor-native content. */
.mayo-site:has(.cinematic-hero) .site-header{color:var(--primary-navy);border-color:var(--color-border)}
.mayo-site:has(.cinematic-hero) .desktop-navigation .menu>li:last-child>a{border-color:var(--primary-navy)}
.mayo-site:has(.cinematic-hero) .header-inner{min-height:110px}
.brand-name{font-size:36px}
.desktop-navigation a{font-size:11px}
.desktop-navigation .menu>li:last-child>a{padding:12px 19px;border:1px solid var(--primary-navy)}
.desktop-navigation .menu>li:last-child>a::before{display:none}
.desktop-navigation .menu>li:last-child>a:hover{background:var(--primary-navy);color:white}
.mayo-site .cinematic-hero{background:var(--color-bg);color:var(--primary-navy);padding-top:145px;min-height:100svh}
.cinematic-hero::after{display:none}
.cinematic-hero::before{content:"";position:absolute;left:56%;top:20%;bottom:16%;width:1px;background:var(--color-border);z-index:-1}
.mayo-site .cinematic-hero .hero-main{display:flex;justify-content:flex-start;align-items:center;padding:60px 0 64px;min-height:570px}
.mayo-site .cinematic-hero .hero-copy{gap:28px;max-width:70%;position:relative;pointer-events:none}
.cinematic-hero .hero-copy a{pointer-events:auto}
.cinematic-hero .hero-title{font-size:clamp(5.5rem,8.4vw,9.5rem);line-height:1.01;letter-spacing:-.055em;max-width:none}
.cinematic-hero .hero-title em{color:var(--primary-navy)}
.mayo-site .cinematic-hero .hero-description{color:var(--color-muted);max-width:355px;font-size:14px;line-height:1.85;margin-top:9px}
.mayo-site .cinematic-hero .elementor-button{color:var(--primary-navy);border-color:var(--primary-navy)}
.mayo-site .cinematic-hero .hero-cta .elementor-button{font-size:11px;padding-bottom:13px;letter-spacing:.06em}
.mayo-site .cinematic-hero .elementor-button:hover{color:var(--color-ink)}
.mayo-site .cinematic-hero .hero-art{inset:160px 0 90px 53%;width:47%;height:auto;z-index:0;pointer-events:none}
.mayo-site .cinematic-hero .hero-image{inset:0;width:100%;height:100%}
.cinematic-hero .hero-image img{opacity:1;object-fit:contain;object-position:center}
.mayo-site .cinematic-hero .hero-art-caption{right:var(--gutter);bottom:30px;border:1px solid var(--color-border);border-radius:50%;width:115px;height:115px;display:flex;align-items:center;justify-content:center;color:var(--primary-navy);text-align:center;font-size:10px;line-height:1.7;letter-spacing:.09em;transform:rotate(-12deg);background:var(--color-bg)}
.mayo-site .cinematic-hero .hero-bottom{border-color:var(--color-border);min-height:80px}
.cinematic-hero .hero-bottom .hero-footnote{color:var(--color-muted);font-size:10px}
.cinematic-hero .hero-location::before{background:var(--primary-navy)}
.cinematic-hero .hero-beat em{color:var(--primary-navy)}
.cinematic-hero .hero-beat{font-size:clamp(4rem,7.3vw,8rem);line-height:1.08;max-width:1050px}
.cinematic-hero .hero-story{border-color:var(--color-border)}
.hero-webgl{z-index:1}
.mayo-editing .cinematic-hero .hero-copy{pointer-events:auto}
@media(min-width:1025px){.mayo-site .cinematic-hero:not(.is-pinned-story) .hero-art{bottom:auto;height:570px}}
.is-webgl .hero-image img{opacity:0}
.hero-eyebrow .section-label{font-size:9px;letter-spacing:.13em}
.mayo-site .cinematic-statement{min-height:86svh;padding-block:110px;background:#EEEEE6;border:0;gap:55px}
.cinematic-statement .statement-title{font-size:clamp(3rem,5.35vw,6rem);line-height:1.13;max-width:1100px}
.cinematic-statement .statement-copy{padding-left:15vw;gap:40px}
.cinematic-statement .statement-description{font-size:14px;line-height:1.9;max-width:400px}

/* A service index: generous ruled entries and a quiet sticky introduction. */
.mayo-site .cinematic-services{background:var(--color-bg);color:var(--primary-navy);display:grid;grid-template-columns:1fr 1.4fr;gap:50px 8vw;padding:110px var(--gutter);overflow:visible;align-items:start}
.mayo-site .cinematic-services .section-heading{display:flex;flex-direction:column;gap:38px;position:sticky;top:60px}
.cinematic-services .section-title{font-size:clamp(3rem,4.5vw,5.2rem);line-height:1.08}
.mayo-site .cinematic-services .service-list{grid-column:2;grid-row:1 / span 2}
.mayo-site .cinematic-services .service-row{grid-template-columns:28px 1fr 36px;gap:18px;padding:26px 0;border-color:var(--color-border);transition:padding .35s}
.service-title{font-size:clamp(1.55rem,2.2vw,2.15rem);line-height:1.16;letter-spacing:-.025em}
.service-title br{display:none}
.service-number{font-family:var(--font-body);font-size:9px;color:var(--color-muted);padding-top:8px}
.service-description{grid-column:2;grid-row:2;max-width:430px;font-size:13px;line-height:1.9;color:var(--color-muted);padding:0}
.mayo-site .cinematic-services .service-link{grid-column:3;grid-row:2;align-self:end}
.mayo-site .cinematic-services .service-link .elementor-button{font-size:23px;color:var(--primary-navy);min-width:32px;min-height:32px}
.service-row:hover .service-title{color:var(--primary-navy)}
.mayo-site .cinematic-services .service-disclaimer{grid-column:1;max-width:270px;color:var(--color-muted);font-size:11px;line-height:1.8;align-self:start;margin-top:15px}
.service-toggle{grid-column:3;grid-row:1;align-self:start;min-width:36px;min-height:40px;border:0;background:none;font-size:24px;font-weight:300;line-height:1;position:relative}
.service-toggle::before,.service-toggle::after{content:"";position:absolute;top:19px;left:11px;width:15px;height:1px;background:currentColor;transition:transform .3s}
.service-toggle::after{transform:rotate(90deg)}
.service-toggle[aria-expanded="true"]::after{transform:rotate(0)}
.service-row.is-open .service-number{color:var(--primary-navy)}
.service-row.is-open .service-title{font-style:italic}
.service-toggle:hover{background:var(--bright-yellow);border-radius:50%}
.service-row:has(.service-toggle):not(.is-open){row-gap:0}

.mayo-site .approach-section{background:var(--primary-navy);color:white;padding-block:110px}
.approach-section .section-heading{grid-template-columns:1fr 1.4fr;gap:8vw}
.approach-section .section-title{font-size:clamp(3rem,4.9vw,5.5rem)}
.mayo-site .approach-steps{gap:5vw;margin-top:10px}
.mayo-site .approach-step{border-color:#ffffff40;gap:24px}
.approach-step .step-number{color:var(--bright-yellow);font-size:62px}
.step-title{font-size:30px}
.step-description{color:#dce4ed;font-size:13px;line-height:1.9;max-width:300px}
.mayo-site .audience-section{padding-block:120px}
.audience-list{font-size:clamp(1.6rem,2.5vw,2.7rem)}
.audience-list p{padding:18px 0}
.mayo-site .featured-section{padding-block:100px}
.featured-copy .section-title{font-size:clamp(3rem,4.7vw,5.5rem)}
.mayo-site .about-section{background:#EEEEE6}
.mayo-site .cinematic-contact{background:var(--bright-yellow);min-height:85svh;padding-bottom:80px;gap:65px}
.cinematic-contact .contact-title{font-size:clamp(4rem,8.1vw,9rem);line-height:1.05;letter-spacing:-.045em}
.mayo-site .contact-bottom .contact-description{font-size:14px;max-width:310px}
.contact-note{font-size:10px;color:var(--color-ink)}
.site-footer{background:var(--color-ink)}

@media(min-width:1600px){.cinematic-hero .hero-title{font-size:9vw}.mayo-site .cinematic-hero .hero-main{min-height:650px}}
@media(min-width:1025px) and (max-height:850px){
 .mayo-site .cinematic-hero{padding-top:135px}.mayo-site .cinematic-hero .hero-main{min-height:0;padding-block:35px 45px}.cinematic-hero .hero-title,.is-pinned-story .hero-title{font-size:8.1vw}.mayo-site .cinematic-hero .hero-copy{gap:22px}.mayo-site .cinematic-hero .hero-art{top:155px;bottom:85px}.mayo-site .cinematic-hero .hero-description{font-size:13px}.mayo-site .cinematic-hero .hero-art-caption{bottom:12px;width:96px;height:96px;font-size:8px}
}
@media(max-width:1024px){
 .mayo-site .cinematic-hero{padding-top:140px}.mayo-site .cinematic-hero .hero-main{min-height:600px;padding-block:90px 65px}.cinematic-hero .hero-title{font-size:9.5vw}.mayo-site .cinematic-hero .hero-copy{max-width:85%}.mayo-site .cinematic-hero .hero-art{inset:260px -10% 190px 45%;width:65%}.mayo-site .cinematic-hero .hero-art-caption{display:none}.cinematic-hero::before{display:none}.mayo-site .hero-story{position:relative;z-index:2}.cinematic-hero .hero-beat{font-size:4.5vw;max-width:48%}.cinematic-hero .hero-story-note{font-size:11px}.cinematic-hero .hero-image img{opacity:1;object-position:center}.mayo-site .cinematic-hero{overflow:hidden}
 .mayo-site .cinematic-services{grid-template-columns:1fr 1.4fr;gap:40px}.cinematic-services .section-title{font-size:3.8rem}.mayo-site .cinematic-services .section-heading{position:static}.cinematic-statement .statement-copy{padding-left:5vw}.cinematic-statement .statement-title{font-size:5.8vw}.mayo-site .approach-steps{gap:2rem}.step-title{font-size:26px}.step-description{font-size:13px}.mayo-site .audience-section{padding-block:80px}
}
@media(max-width:767px){
 .mayo-site:has(.cinematic-hero) .header-inner{min-height:88px}.brand-name{font-size:30px}.desktop-navigation .menu>li:last-child>a{padding:5px 8px}.mayo-site .cinematic-hero{padding-top:115px;min-height:100svh}.hero-eyebrow .section-label{font-size:8px;letter-spacing:.1em}
 .mayo-site .cinematic-hero .hero-main{min-height:0;padding:43px 0 28px;display:flex}.mayo-site .cinematic-hero .hero-copy{max-width:100%;gap:20px}.cinematic-hero .hero-title{font-size:clamp(3.1rem,12.9vw,6rem);line-height:1.04;letter-spacing:-.055em}.mayo-site .cinematic-hero .hero-description{font-size:12px;line-height:1.9;max-width:275px;margin-top:285px}.mayo-site .elementor .cinematic-hero .hero-copy>.hero-description{width:275px}
 .mayo-site .cinematic-hero .hero-art{inset:225px -8% auto 3%;width:105%;height:320px}.cinematic-hero .hero-image img{object-fit:contain;opacity:1}.mayo-site .cinematic-hero .hero-art-caption{display:flex;right:10%;bottom:30px;width:76px;height:76px;font-size:7px}.mayo-site .cinematic-hero .hero-cta .elementor-button{font-size:10px}.mayo-site .cinematic-hero .hero-bottom{min-height:66px;align-items:center}.cinematic-hero .hero-bottom .hero-footnote{font-size:8px;max-width:150px;line-height:1.8}
 .mayo-site .hero-story{padding-block:28px 35px;gap:23px 12px}.cinematic-hero .hero-beat{font-size:clamp(1.5rem,6.3vw,3rem);max-width:48%;line-height:1.15}.cinematic-hero .hero-story-note{font-size:10px}
 .mayo-site .cinematic-statement{min-height:0;padding-block:65px;gap:35px}.cinematic-statement .statement-copy{padding-left:0;gap:25px}.cinematic-statement .statement-title{font-size:clamp(2.4rem,9.1vw,4.2rem)}.cinematic-statement .statement-description{font-size:13px;line-height:1.9}.cinematic-statement::after{bottom:25px}
 .mayo-site .cinematic-services{display:flex;flex-direction:column;padding-block:65px;gap:35px}.mayo-site .cinematic-services .section-heading{gap:23px}.cinematic-services .section-title{font-size:clamp(2.8rem,10vw,4.5rem)}.mayo-site .cinematic-services .service-row{grid-template-columns:22px 1fr 32px;gap:12px;padding-block:23px}.service-title{font-size:26px}.service-description{font-size:12px}.service-number{font-size:8px;padding-top:7px}.mayo-site .cinematic-services .service-disclaimer{margin:0;max-width:280px}.service-toggle{min-width:32px}.service-toggle::before,.service-toggle::after{left:9px}
 .mayo-site .approach-section{padding-block:65px}.approach-section .section-heading{display:flex;gap:25px}.approach-section .section-title{font-size:clamp(2.7rem,10vw,4.5rem)}.mayo-site .approach-steps{gap:32px;margin:0}.approach-step .step-number{font-size:42px}.step-title{font-size:27px}.step-description{max-width:100%;font-size:13px}.mayo-site .audience-section{padding-block:65px}.audience-list{font-size:24px}.audience-list p{padding:14px 0}.mayo-site .featured-section{padding-block:65px}.featured-copy .section-title{font-size:clamp(2.7rem,10vw,4.5rem)}.mayo-site .cinematic-contact{min-height:650px;gap:35px;padding-block:40px 55px}.cinematic-contact .contact-title{font-size:clamp(2.6rem,10.4vw,5rem)}.mayo-site .contact-link .elementor-button{font-size:26px}.contact-note{font-size:9px}
}
@media(prefers-reduced-motion:reduce){.cinematic-hero .hero-image img{opacity:1}.cinematic-hero .hero-art-caption{transform:none}}
@media print{.mayo-site .approach-section{background:white;color:black}.step-description{color:black}.service-description[hidden],.service-link[hidden]{display:block!important}.service-toggle{display:none}}
