/* Clarity in balance. The existing navy, gold and ivory, in an immersive composition. */
body:has(.accounting-hero){--color-bg:#F6F3EC;--color-text:#102C3B;--color-ink:#102C3B;--editorial-gold:#D8B77A}
/* Elementor's native smooth scrolling must not tween ScrollTrigger measurements. */
html.lenis:has(.accounting-hero){scroll-behavior:auto!important}
.mayo-site:has(.accounting-hero) .site-header{background:transparent;border:0}
.mayo-site:has(.accounting-hero) .header-inner{min-height:98px;border-bottom:1px solid #f6f3ec1c}
.mayo-site:has(.accounting-hero) .desktop-navigation .menu>li:last-child>a{border-radius:40px;border:0;background:#F6F3EC;color:#102C3B;padding:12px 24px}
.mayo-site:has(.accounting-hero) .desktop-navigation .menu>li:last-child>a:hover{background:#D8B77A}
.mayo-site:has(.accounting-hero) .desktop-navigation .menu>li:last-child>a::before{display:none}
.mayo-site .accounting-hero{position:relative;isolation:isolate;min-height:960px;height:100svh;max-height:1250px;padding:135px var(--gutter) 0;background:#102C3B;overflow:hidden}
.accounting-hero::before{display:block;position:absolute;inset:0;content:"";z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 66%,#1f4a8055,transparent 62%),radial-gradient(ellipse at 50% 85%,#d8b77a12,transparent 45%)}
.accounting-hero::after{display:block;content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.1;background-image:radial-gradient(#d8b77a88 .65px,transparent .65px);background-size:39px 39px;mask-image:linear-gradient(transparent,#000 35%,#000 80%,transparent)}
.mayo-site .accounting-hero .hero-eyebrow{justify-content:center;position:relative;z-index:5}
.accounting-hero .hero-eyebrow .section-label{color:#D8B77A;font-size:9px;letter-spacing:.22em}
.accounting-hero .hero-eyebrow .section-label:first-child p::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:#D8B77A;margin:0 12px 2px 0;box-shadow:0 0 18px #d8b77a80}
.accounting-hero .hero-location{display:none}
.mayo-site .accounting-hero .hero-main{position:static;display:block;min-height:0;flex:1;padding:24px 0 0;width:100%}
.mayo-site .accounting-hero .hero-copy{display:contents}
.mayo-site .accounting-hero .hero-title{position:relative;z-index:3;text-align:center;font-family:var(--font-body);font-weight:400;font-size:clamp(4.8rem,6.5vw,7.7rem);line-height:1.07;letter-spacing:-.065em;width:100%;max-width:none;pointer-events:none}
.accounting-hero .hero-title em{font-style:normal;color:#D8B77A}
.accounting-hero .hero-title em::after{display:none}
.accounting-hero .hero-line{perspective:1000px}
.accounting-hero .hero-line-inner{transform-origin:50% 100%;backface-visibility:hidden}
.mayo-site .accounting-hero .hero-description{position:absolute;left:var(--gutter);bottom:205px;z-index:4;width:245px;max-width:22%;font-size:12px;line-height:1.95;color:#C5D0D3;margin:0}
.mayo-site .accounting-hero .hero-actions{position:absolute;bottom:120px;left:0;right:0;z-index:5;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:28px;width:100%;pointer-events:auto}
.mayo-site .accounting-hero .hero-actions{pointer-events:none}
.mayo-site .accounting-hero .hero-actions>.elementor-widget{width:auto;pointer-events:auto}
.mayo-site .accounting-hero .hero-cta .elementor-button{background:#F6F3EC;color:#102C3B;border:0;border-radius:40px;padding:18px 28px;font-size:11px;letter-spacing:.015em;text-transform:none;transition:background .25s,transform .25s}
.mayo-site .accounting-hero .hero-cta .elementor-button:hover{background:#D8B77A;transform:translateY(-3px)}
.mayo-site .accounting-hero .hero-secondary .elementor-button{font-size:11px;letter-spacing:.015em;text-transform:none;border-color:#f6f3ec50;padding:13px 0;color:#F6F3EC}
.mayo-site .accounting-hero .hero-secondary .elementor-button:hover{color:#D8B77A}
.mayo-site .accounting-hero .hero-reassurance{position:absolute;bottom:79px;left:0;right:0;text-align:center;font-size:9px;color:#B9C8CD;letter-spacing:.04em;z-index:4;pointer-events:none}
.accounting-hero .hero-reassurance p::before{content:"✓";display:inline-grid;place-items:center;width:23px;height:23px;border:1px solid #d8b77a40;border-radius:50%;color:#D8B77A;margin-right:9px}
.mayo-site .accounting-hero .hero-art,.mayo-site .accounting-hero:not(.is-pinned-story) .hero-art{position:absolute;inset:285px 0 130px;width:100%;height:auto!important;padding:0;z-index:1;overflow:visible;pointer-events:auto;margin:0}
.accounting-hero .hero-art::before{content:"";position:absolute;inset:-4% 12% 4%;border-radius:50%;background:radial-gradient(ellipse at 50% 48%,#d8b77a0d,transparent 62%);pointer-events:none}
.mayo-site .accounting-hero .hero-image{background:none;position:absolute;inset:0;overflow:visible;pointer-events:none;transition:opacity .5s}
.accounting-hero .hero-image::after{display:none}
.accounting-hero .hero-image img{object-fit:contain;object-position:center;width:100%;height:100%;filter:none;transform:none;opacity:1}
.accounting-hero.is-accounting-webgl .hero-image{opacity:0}
.accounting-hero.is-accounting-loading .hero-image{opacity:.28}
.scene-loader{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;pointer-events:none;color:#D8B77A}
.scene-loader::before{content:"";width:52px;height:52px;border:1px solid #d8b77a26;border-top-color:#D8B77A;border-right-color:#d8b77a80;border-radius:50%;animation:scene-loading 1.4s linear infinite}
.scene-loader span{font:8px/1.6 var(--font-body);letter-spacing:.19em;text-transform:uppercase}
@keyframes scene-loading{to{transform:rotate(360deg)}}
.accounting-webgl{position:absolute;inset:0;z-index:2;touch-action:pan-y;cursor:grab;opacity:0;transition:opacity 1.2s cubic-bezier(.22,1,.36,1)}
.is-accounting-webgl .accounting-webgl{opacity:1}
.accounting-webgl.is-dragging{cursor:grabbing}
.accounting-hero .hero-art{--hero-zoom:1;--hero-lift:0px}
.accounting-hero .accounting-webgl,.accounting-hero .hero-image{transform:translateY(var(--hero-lift)) scale(var(--hero-zoom));transform-origin:50% 55%}
.accounting-webgl canvas{display:block;width:100%;height:100%;mask-image:linear-gradient(#000 85%,transparent)}
.mayo-site .accounting-hero .hero-art-caption{position:absolute;right:var(--gutter);bottom:102px;max-width:190px;padding:0 0 0 17px;border-left:1px solid #d8b77a66;background:none;font:10px/1.9 var(--font-body);letter-spacing:.015em;color:#C5D0D3;text-align:left;z-index:3;pointer-events:none}
.mayo-site .accounting-hero .hero-art-caption::before{content:"01 / CLARITY IN BALANCE";font:8px/1.6 var(--font-body);letter-spacing:.13em;color:#D8B77A;margin-bottom:12px}
.scene-controls{position:absolute;right:var(--gutter);bottom:18px;z-index:6;display:flex;align-items:center;gap:8px;color:#D8B77A}
.scene-controls span{font:9px var(--font-body);margin-right:8px;color:#C5D0D3}
.scene-controls span::before{content:"";display:inline-block;vertical-align:middle;width:22px;height:1px;background:#d8b77a66;margin-right:12px}
.is-accounting-webgl .scene-controls{animation:scene-controls-reveal 1s .3s both}
@keyframes scene-controls-reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.scene-controls button{width:34px;height:34px;min-height:34px;border:1px solid #d8b77a55;border-radius:50%;background:#102c3b80;color:#D8B77A;display:grid;place-items:center;font-size:13px;transition:background .2s}
.scene-controls button:hover{background:#1F4A80}
.mayo-site .accounting-hero .hero-bottom{position:relative;z-index:5;min-height:57px;padding:16px 0;border-top:1px solid #f6f3ec20;display:flex;justify-content:space-between;align-items:center;gap:24px;pointer-events:auto}
.accounting-hero .hero-bottom .hero-footnote,.accounting-hero .hero-bottom .hero-endnote{font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:#B9C8CD;width:auto;max-width:none}
.mayo-site .accounting-hero .hero-bottom .elementor-button{font-size:8px;border:0;padding:0;letter-spacing:.16em}
/* Generous typography and open indexes carry the story beyond the opening. */
.mayo-site:has(.accounting-hero) .section-title{font-family:var(--font-body);font-weight:400;letter-spacing:-.055em;line-height:1.13}
.mayo-site:has(.accounting-hero) .section-title em{font-family:var(--font-display);letter-spacing:-.025em;color:#58685D}
.mayo-site:has(.accounting-hero) .editorial-statement{padding-block:120px 130px}
.mayo-site:has(.accounting-hero) .statement-title{font-family:var(--font-body);font-size:clamp(2.5rem,4.3vw,4.9rem);letter-spacing:-.05em;line-height:1.25}
.mayo-site:has(.accounting-hero) .statement-title em{font-family:var(--font-display);letter-spacing:-.025em;color:#536579}
.mayo-site:has(.accounting-hero) .editorial-services{border-top:1px solid #102c3b20}
.mayo-site:has(.accounting-hero) .service-title{font-family:var(--font-body);font-size:clamp(1.25rem,1.7vw,1.9rem);letter-spacing:-.035em;font-weight:400}
.mayo-site:has(.accounting-hero) .service-row{padding-block:29px}
.mayo-site:has(.accounting-hero) .service-row:hover .service-title{color:#1F4A80}
.mayo-site:has(.accounting-hero) .editorial-approach{background:#102C3B;color:#F6F3EC;padding-block:110px 120px}
.mayo-site:has(.accounting-hero) .editorial-approach .section-label,.mayo-site:has(.accounting-hero) .editorial-approach .step-number{color:#D8B77A}
.mayo-site:has(.accounting-hero) .editorial-approach .section-title em{color:#D8B77A}
.mayo-site:has(.accounting-hero) .editorial-approach .approach-step{border-color:#f6f3ec30}
.mayo-site:has(.accounting-hero) .editorial-approach .step-number{font-size:13px}
.mayo-site:has(.accounting-hero) .editorial-approach .step-title{font-family:var(--font-body);font-size:clamp(1.5rem,2.1vw,2.5rem);letter-spacing:-.04em}
.mayo-site:has(.accounting-hero) .editorial-approach .step-description{color:#C5D0D3}
.mayo-site:has(.accounting-hero) .editorial-perspective{border-top:1px solid #f6f3ec25}
.mayo-site:has(.accounting-hero) .editorial-featured{border-top:1px solid #102c3b20}
.mayo-site:has(.accounting-hero) .editorial-contact{position:relative;overflow:hidden;min-height:85svh}
.mayo-site:has(.accounting-hero) .editorial-contact::after{content:"";position:absolute;width:65vw;height:65vw;border:1px solid #d8b77a20;border-radius:50%;right:-25vw;bottom:-45vw;box-shadow:0 0 0 70px #d8b77a06,0 0 0 140px #d8b77a04;pointer-events:none}
.mayo-site:has(.accounting-hero) .contact-title{font-family:var(--font-body);font-size:clamp(3.5rem,6.6vw,7.8rem);letter-spacing:-.06em;line-height:1.14}
.mayo-site:has(.accounting-hero) .contact-title em{font-family:var(--font-display);letter-spacing:-.035em}
.mayo-site:has(.accounting-hero) .contact-link .elementor-button{border:0;border-radius:40px;padding:18px 28px;background:#D8B77A;color:#102C3B;position:relative;z-index:1;text-transform:none}
.mayo-site:has(.accounting-hero) .contact-link .elementor-button:hover{background:#F6F3EC;color:#102C3B}
@media(min-width:1600px){.mayo-site .accounting-hero .hero-art{top:310px;bottom:150px}.mayo-site .accounting-hero .hero-main{min-height:0}.mayo-site .accounting-hero .hero-title{font-size:7.3rem}}
@media(min-width:1025px) and (max-height:850px){
 .mayo-site .accounting-hero{height:auto;min-height:850px;padding-top:117px}.mayo-site .accounting-hero .hero-title{font-size:6vw}.mayo-site .accounting-hero .hero-main{padding-top:20px;min-height:0}.mayo-site .accounting-hero .hero-art{top:250px;bottom:125px}.mayo-site .accounting-hero .hero-description{bottom:185px}.mayo-site .accounting-hero .hero-art-caption{bottom:95px}
}
@media(max-width:1024px){
 .mayo-site .accounting-hero{height:100svh;min-height:1000px;max-height:none;padding-top:140px}.mayo-site .accounting-hero .hero-main{min-height:0;padding-top:30px}.mayo-site .accounting-hero .hero-title{font-size:8.2vw}.mayo-site .accounting-hero .hero-art{top:310px;bottom:180px}.mayo-site .accounting-hero .hero-description{bottom:195px;width:250px;max-width:35%;font-size:11px}.mayo-site .accounting-hero .hero-art-caption{bottom:25px;font-size:9px;max-width:155px}.scene-controls{bottom:110px}.mayo-site .accounting-hero .hero-actions{bottom:110px}.mayo-site .accounting-hero .hero-reassurance{bottom:73px}
}
@media(max-width:767px){
 .mayo-site:has(.accounting-hero) .header-inner{min-height:85px}.mayo-site .accounting-hero{height:auto;min-height:0;padding-top:121px;max-height:none}.mayo-site .accounting-hero .hero-eyebrow{justify-content:center}.accounting-hero .hero-eyebrow .section-label{font-size:7px;letter-spacing:.17em}.mayo-site .accounting-hero .hero-main{position:relative;display:flex;flex-direction:column;padding:27px 0 28px;min-height:0;gap:0}.mayo-site .accounting-hero .hero-copy{display:contents}
 .mayo-site .accounting-hero .hero-title{font-size:clamp(2.15rem,9.2vw,4.4rem);line-height:1.13;letter-spacing:-.06em;text-align:center;margin:0;order:0;max-width:100%}
 .mayo-site .accounting-hero .hero-art,.mayo-site .accounting-hero:not(.is-pinned-story) .hero-art{order:1;position:relative;inset:auto;width:calc(100% + var(--gutter)*2);margin:0 calc(var(--gutter)*-1);height:clamp(300px,88vw,530px)!important;overflow:visible}
 .mayo-site .accounting-hero .hero-art-caption{display:none}.mayo-site .accounting-hero .hero-image{inset:0;position:absolute}.accounting-hero .hero-image img{object-fit:contain;object-position:center;filter:none}
 .mayo-site .accounting-hero .hero-copy>.hero-description,.mayo-site .elementor .accounting-hero .hero-copy>.hero-description{order:2;position:static;width:305px;max-width:100%;text-align:center;margin:2px auto 23px;font-size:12px;line-height:1.85}
 .mayo-site .accounting-hero .hero-actions{order:3;position:static;width:100%;gap:18px;flex-direction:row;flex-wrap:wrap}.mayo-site .accounting-hero .hero-cta{align-self:auto}.mayo-site .accounting-hero .hero-cta .elementor-button{font-size:10px;padding:15px 20px}.mayo-site .accounting-hero .hero-secondary .elementor-button{font-size:10px;padding:12px 0}
 .mayo-site .accounting-hero .hero-reassurance{position:static;order:4;margin-top:20px;font-size:8px;width:100%}.scene-controls{right:var(--gutter);bottom:8px;gap:7px}.scene-controls span{font-size:8px}.scene-controls button{width:32px;height:32px;min-height:32px;font-size:12px}
 .mayo-site .accounting-hero .hero-bottom{min-height:60px;padding:18px 0;gap:10px}.accounting-hero .hero-bottom .hero-footnote{font-size:7px;max-width:145px;text-align:left;letter-spacing:.08em}.accounting-hero .hero-bottom .hero-endnote{display:none}.mayo-site .accounting-hero .hero-bottom .elementor-button{font-size:7px;letter-spacing:.08em}
 .mayo-site:has(.accounting-hero) .editorial-statement{padding-block:70px}.mayo-site:has(.accounting-hero) .statement-title{font-size:clamp(1.9rem,7.8vw,3.6rem);line-height:1.28}.mayo-site:has(.accounting-hero) .service-title{font-size:22px;letter-spacing:-.035em}.mayo-site:has(.accounting-hero) .service-row{padding-block:23px}.mayo-site:has(.accounting-hero) .editorial-approach{padding-block:70px}.mayo-site:has(.accounting-hero) .editorial-approach .step-title{font-size:25px}.mayo-site:has(.accounting-hero) .editorial-approach .step-number{font-size:10px}.mayo-site:has(.accounting-hero) .contact-title{font-size:9.2vw;line-height:1.16}.mayo-site:has(.accounting-hero) .contact-link .elementor-button{font-size:11px;padding:16px 23px}
}
@media(prefers-reduced-motion:reduce){.scene-loader::before,.is-accounting-webgl .scene-controls{animation:none}.accounting-webgl,.accounting-hero .hero-image,.mayo-site .accounting-hero .hero-cta .elementor-button{transition:none}.mayo-site .accounting-hero .hero-cta .elementor-button:hover{transform:none}}
.mayo-editing .accounting-hero .hero-title,.mayo-editing .accounting-hero .hero-reassurance,.mayo-editing .accounting-hero .hero-actions{pointer-events:auto}
@media print{.mayo-site .accounting-hero{height:auto;min-height:700px;background:#102C3B!important;print-color-adjust:exact}.accounting-webgl,.scene-controls{display:none}.accounting-hero.is-accounting-webgl .hero-image{opacity:1}}
