/* Readability and accessibility refinements, layered over the source baseline. */
:root{--ulta-purple:#6941b5;--ulta-muted:#465469;--ulta-light-accent:#c4afff;--ulta-light-body:#c4cfe0}
body{font-size:1.125rem;line-height:1.7}
.entry-content .ulta-section p{line-height:1.7}
.entry-content .ulta-section-intro,.entry-content .ulta-cta p{font-size:1.25rem;line-height:1.65;max-width:62ch;color:var(--ulta-muted)}
.entry-content .ulta-section h2{font-size:clamp(2rem,3.2vw,3rem);line-height:1.2;text-wrap:balance}
.entry-content .ulta-section h3{line-height:1.3}
.entry-content .ulta-section .ulta-eyebrow,.entry-content .ulta-hero .ulta-eyebrow,.entry-content .ulta-why .ulta-why-copy .ulta-eyebrow{font-size:1rem!important;line-height:1.5;font-weight:700;letter-spacing:.075em}
.entry-content .ulta-hero .ulta-eyebrow,.entry-content .ulta-why .ulta-eyebrow,.entry-content .ulta-why .ulta-why-copy .ulta-eyebrow{color:var(--ulta-light-accent)}
.entry-content .ulta-hero h1{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.12;max-width:16ch;overflow-wrap:normal}
.entry-content .ulta-hero .ulta-lead{font-size:1.375rem;line-height:1.65;color:#e1e8f4;max-width:52ch}
.entry-content .ulta-hero .ulta-trust-item{font-size:1rem;line-height:1.5;color:#e1e8f4}
.entry-content .ulta-trust-item:before,.ulta-value-card:before{background:var(--ulta-light-accent)}
/* Back the entire text area with navy; photograph highlights cannot lower contrast. */
.entry-content .ulta-industry-card{height:auto;min-height:29rem;display:flex;align-items:flex-end;padding-top:11rem}
.entry-content .ulta-industry-copy{position:relative;inset:auto;width:100%;padding:1.5rem;background:var(--ulta-navy);border-radius:0 0 8px 8px}
.entry-content .ulta-industry-copy h3{font-size:1.5rem;line-height:1.3;overflow-wrap:anywhere}
.entry-content .ulta-industry-copy p{font-size:1.125rem;line-height:1.6;color:#e1e8f4}
.entry-content .ulta-industry-copy .wp-block-button__link{font-size:1rem;line-height:1.5;letter-spacing:.025em;color:var(--ulta-light-accent)!important;min-height:44px;display:inline-flex;align-items:center;gap:.4rem;text-transform:none}
.entry-content .ulta-industry-copy .wp-block-button__link:hover{color:#fff!important}
.entry-content .ulta-coverage-card p{font-size:1.125rem;line-height:1.7;color:var(--ulta-muted);max-width:65ch}
.entry-content .ulta-coverage-card h3{font-size:1.5rem;line-height:1.3}
.entry-content .ulta-why-copy>p,.entry-content .ulta-why-copy>.wp-block-group__inner-container>p{font-size:1.125rem;line-height:1.75;color:var(--ulta-light-body)}
.entry-content .ulta-why h2{font-size:clamp(1.875rem,2.6vw,2.5rem);line-height:1.25}
.entry-content .ulta-value-card h3{font-size:1.375rem;line-height:1.35}
.entry-content .ulta-value-card p{font-size:1.125rem;line-height:1.65;color:var(--ulta-light-body)}
.entry-content .ulta-value-card{padding:1.5rem 1.5rem 1.5rem 3.75rem}
.entry-content .ulta-why blockquote{font-size:clamp(1.75rem,2.5vw,2.25rem);line-height:1.35}
.entry-content .ulta-text-link .wp-block-button__link,.entry-content .ulta-cta .is-style-outline .wp-block-button__link{font-size:1.125rem;min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:.2em}
.entry-content .ulta-hero .wp-block-button__link,.entry-content .ulta-cta .wp-block-button:first-child .wp-block-button__link{font-size:1.125rem;line-height:1.5;min-height:48px;white-space:normal}
.entry-content .ulta-hero .is-style-outline .wp-block-button__link{background:var(--ulta-navy);color:#edf2fc;border-color:#b8c5db}
#masthead{background:var(--ulta-navy);backdrop-filter:none}
#masthead .main-navigation .primary-menu-container>ul>li>a{font-size:1.0625rem;line-height:1.5;min-height:44px;display:flex;align-items:center}
#masthead .main-navigation .primary-menu-container>ul>li:first-child>a,#masthead .main-navigation .primary-menu-container>ul>li>a:hover{color:var(--ulta-light-accent)}
#masthead .main-navigation .primary-menu-container>ul>li.ulta-nav-cta>a,
#masthead .main-navigation .primary-menu-container>ul>li.ulta-nav-cta>a:visited{color:#fff!important;background:#6941b5!important;border-color:#6941b5!important}
#masthead .main-navigation .primary-menu-container>ul>li.ulta-nav-cta>a:hover,
#masthead .main-navigation .primary-menu-container>ul>li.ulta-nav-cta>a:focus,
#masthead .main-navigation .primary-menu-container>ul>li.ulta-nav-cta>a:active{color:#fff!important;background:#50318c!important;border-color:#50318c!important}
#masthead .main-navigation .primary-menu-container>ul{gap:24px}
#masthead .site-header-row{height:auto;min-height:96px;padding-top:8px;padding-bottom:8px}
#masthead .site-branding img{max-width:min(280px,100%);height:auto}
.mobile-navigation ul li,.mobile-navigation ul li a{font-size:1.125rem;line-height:1.5}
.mobile-navigation ul li.current-menu-item>a,.mobile-navigation ul li.current-menu-item>.drawer-nav-drop-wrap{color:var(--ulta-light-accent)}
.mobile-toggle-open-container .menu-toggle-open{min-width:48px;min-height:48px;color:#edf2fc}
.site-footer .ulta-footer-grid p,.site-footer .ulta-footer-brand p{font-size:1.0625rem;line-height:1.65;color:var(--ulta-light-body)}
.site-footer .ulta-footer-grid h3{font-size:1.0625rem;line-height:1.5;font-weight:700;letter-spacing:.04em}
.site-footer .ulta-footer-grid .ulta-license,.site-footer .ulta-footer-bottom p{font-size:1rem;line-height:1.6;color:#b8c5db}
.site-footer .ulta-footer-grid a{display:inline-block;min-height:32px;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;padding:4px 0;overflow-wrap:anywhere}
.site-footer .ulta-footer-grid a:hover{color:var(--ulta-light-accent)}
.site-footer .ulta-footer-bottom{flex-wrap:wrap}
.ulta-two-columns>*{min-width:0}.entry-content .ulta-section p,.site-footer p{overflow-wrap:break-word}
/* Two-tone focus remains visible against both cream and dark panels. */
body a:focus-visible,body button:focus-visible,body input:focus-visible,body select:focus-visible,body textarea:focus-visible{outline:3px solid #6941b5!important;outline-offset:3px!important;box-shadow:0 0 0 3px #fff!important;border-radius:3px}
a.skip-link:focus{z-index:100001!important;background:#fff!important;color:#101d38!important;padding:16px 24px!important;font-size:1.125rem!important}
@media(min-width:1025px) and (max-width:1250px){#masthead .main-navigation .primary-menu-container>ul{gap:16px}#masthead .site-branding img{max-width:230px}}
@media(max-width:1100px){.entry-content .ulta-industry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer .ulta-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.entry-content .ulta-hero .ulta-lead{font-size:1.25rem}.entry-content .ulta-hero h1{font-size:clamp(2.25rem,8vw,3rem)}.entry-content .ulta-industry-card{min-height:26rem}.entry-content .ulta-section{padding:4rem 0}.entry-content .ulta-hero .ulta-trust{margin-top:2.5rem!important}.entry-content .ulta-hero{padding:9rem 0 4rem}.site-footer .ulta-container{padding-top:3rem}.entry-content .ulta-two-columns{gap:2.5rem}.site-footer .ulta-footer-grid{gap:2rem}}
@media(max-width:639px){.entry-content .ulta-industry-grid,.site-footer .ulta-footer-grid{grid-template-columns:1fr}.entry-content .ulta-industry-card{min-height:24rem}.entry-content .ulta-value-card{padding-left:3.25rem}.ulta-value-card:before{left:1.1rem}#masthead .site-branding img{max-width:210px}.entry-content .ulta-hero .wp-block-buttons{flex-direction:column;align-items:stretch}.entry-content .ulta-hero .wp-block-button__link{justify-content:center;width:100%}}
@media(max-height:500px){#masthead{position:relative;top:0!important}.entry-content .ulta-hero{padding-top:3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.ulta-industry-card img{transform:none!important}}
@media(forced-colors:active){.ulta-trust-item:before,.ulta-value-card:before{background:CanvasText}body a:focus-visible,body button:focus-visible{outline-color:Highlight!important}.ulta-industry-copy{border:1px solid CanvasText}}
/* Maintain contrast even where the hero photograph is entirely white. */
.entry-content .ulta-hero:after{background:linear-gradient(105deg,hsl(222 60% 8% / .92) 0%,hsl(222 55% 14% / .86) 65%,hsl(222 55% 14% / .82) 100%)}
.entry-content .ulta-hero h1{max-width:48rem}
@media(max-width:1024px){#masthead .mobile-site-branding img.custom-logo{width:210px!important;max-width:100%!important;max-height:none!important;height:auto!important}}
/* Match the quote CTA arrow in the header and hero. */
#masthead .main-navigation .primary-menu-container>ul>li.ulta-nav-cta>a{gap:8px}
#masthead .main-navigation .primary-menu-container>ul>li.ulta-nav-cta>a:after{content:'→';font-size:23px;font-weight:400;line-height:1}
/* Larger desktop navigation labels. */
#masthead .main-navigation .primary-menu-container>ul>li>a{font-size:1.1875rem}
/* Remove the dividers beneath coverage descriptions. */
.entry-content .ulta-coverage-card{border-bottom:0}
/* Match the secondary contact link to the primary CTA arrow. */
.entry-content .ulta-cta .is-style-outline .wp-block-button__link{gap:8px}
.entry-content .ulta-cta .is-style-outline .wp-block-button__link:after{content:'→';font-size:23px;font-weight:400;line-height:1}
/* Secondary contact link has no trailing icon. */
.entry-content .ulta-cta .is-style-outline .wp-block-button__link:after{content:none}
/* Keep anchors and keyboard focus clear of the fixed navigation. */
html{scroll-padding-top:7rem}
html:has(body.admin-bar){scroll-padding-top:10rem}
.entry-content :is(input,select,textarea,button,a,summary):focus{scroll-margin-block:2rem}
.entry-content .ulta-policy,.entry-content .ulta-industry-profile{overflow-wrap:break-word}
@media(max-height:500px){html,html:has(body.admin-bar){scroll-padding-top:1rem}}
/* Logo mark plus selectable agency text; collapse to the mark on phones. */
#masthead .ulta-brand-lockup,.site-footer .ulta-brand-lockup{display:inline-flex;align-items:center;gap:14px;text-decoration:none}
#masthead .site-branding .ulta-logo-mark,.site-footer .ulta-brand-lockup .ulta-logo-mark{width:80px!important;height:80px!important;max-width:none!important;max-height:none!important;object-fit:contain;flex:none}
.ulta-brand-descriptor{font-family:'Source Sans 3',Arial,sans-serif;font-size:16px;font-weight:600;line-height:1.4;letter-spacing:.13em;text-transform:uppercase;color:#edf2fc;white-space:nowrap}
.site-footer .ulta-brand-lockup{margin-bottom:20px!important}
@media(max-width:1250px) and (min-width:1025px){#masthead .ulta-brand-descriptor{font-size:14px;letter-spacing:.1em}#masthead .site-branding .ulta-logo-mark{width:68px!important;height:68px!important}}
@media(max-width:767px){.ulta-brand-descriptor{display:none}#masthead .site-branding .ulta-logo-mark{width:64px!important;height:64px!important}.site-footer .ulta-brand-lockup .ulta-logo-mark{width:72px!important;height:72px!important}}
/* Fine-tune descriptor alignment against the circular logo mark. */
.ulta-brand-descriptor{position:relative;top:3px}
/* Coverage overview action uses the full primary-button treatment. */
.entry-content .ulta-coverage .ulta-text-link .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:16px 32px;min-height:48px;max-width:100%;border:1px solid var(--ulta-purple);border-radius:4px;background:var(--ulta-purple);color:#fff;font-size:1.125rem;font-weight:700;line-height:1.5;text-decoration:none;white-space:normal}
.entry-content .ulta-coverage .ulta-text-link .wp-block-button__link:after{content:'→';font-size:23px;font-weight:400;line-height:1;flex:none}
.entry-content .ulta-coverage .ulta-text-link .wp-block-button__link:hover{background:#50318c;border-color:#50318c;color:#fff}
/* Override inherited theme link colors for this filled coverage button. */
.entry-content .ulta-coverage .ulta-text-link a.wp-block-button__link,.entry-content .ulta-coverage .ulta-text-link a.wp-block-button__link:visited,.entry-content .ulta-coverage .ulta-text-link a.wp-block-button__link:hover{color:#fff!important}
/* Equal image headers and content-driven, equal-height card bodies. */
.entry-content .ulta-industry-grid{grid-auto-rows:1fr}
.entry-content .ulta-industry-card{display:flex;flex-direction:column;align-items:stretch;height:auto;min-height:0;padding:0;min-width:0}
.entry-content .ulta-industry-card:after{content:none}
.entry-content .ulta-industry-card .wp-block-image{position:relative;inset:auto;z-index:auto;flex:0 0 11rem;height:11rem;width:100%;margin:0!important;overflow:hidden}
.entry-content .ulta-industry-card .wp-block-image img{display:block;width:100%;height:100%;object-fit:cover}
.entry-content .ulta-industry-copy{position:relative;inset:auto;display:flex;flex-direction:column;flex:1 0 auto;width:100%;min-width:0;padding:1.5rem;margin:0!important}
.entry-content .ulta-industry-copy .wp-block-buttons{margin-top:auto!important;padding-top:.5rem}
/* Frame faces/helmets above center; keep the handshake as the final focal point. */
.entry-content .ulta-industry-card img[src*="industries-contractors"]{object-position:58% 25%}
.entry-content .ulta-industry-card img[src*="industries-restaurants"]{object-position:62% 18%}
.entry-content .ulta-industry-card img[src*="industries-manufacturing"]{object-position:58% 18%}
.entry-content .ulta-industry-card img[src*="pages-home-partnership"]{object-position:38% 50%}
.entry-content .ulta-industry-card:hover img{transform:none}
.entry-content .ulta-industry-card .wp-block-image>a{display:block;width:100%;height:100%}
.entry-content .ulta-industry-card .wp-block-image>a:focus-visible{outline-offset:-5px!important;box-shadow:inset 0 0 0 2px white!important}
/* Underlines belong to link labels, never the separate arrow glyphs. */
.entry-content a.wp-block-button__link,.entry-content a.wp-block-button__link:hover,.entry-content a.wp-block-button__link:after{text-decoration:none!important}
.entry-content .ulta-industry-quote .ulta-button-label,.entry-content .ulta-text-link .ulta-button-label,.entry-content .ulta-cta .is-style-outline .ulta-button-label{text-decoration:underline;text-underline-offset:.2em}
.entry-content .ulta-coverage .ulta-text-link .ulta-button-label{text-decoration:none}
.entry-content .ulta-industry-copy a:hover .ulta-button-label{text-decoration:underline;text-underline-offset:.2em}
/* Square image headers scale with each card's responsive width. */
.entry-content .ulta-industry-card .wp-block-image{flex:0 0 auto;height:auto;aspect-ratio:1 / 1}
.entry-content .ulta-industry-card .wp-block-image>a{position:absolute;inset:0}
.entry-content .ulta-industry-card .wp-block-image>img{position:absolute;inset:0}
/* Reveal more of the hero photograph while supporting readable foreground text. */
.entry-content .ulta-hero:after{background:linear-gradient(105deg,hsl(222 60% 8% / .80) 0%,hsl(222 55% 14% / .66) 65%,hsl(222 55% 14% / .52) 100%)}
.entry-content .ulta-hero :is(h1,.ulta-lead,.ulta-eyebrow,.ulta-trust-item){text-shadow:0 2px 5px rgb(0 0 0 / .5)}
/* Give the subject the right side of the desktop hero and the copy the left. */
@media(min-width:1025px){
 .entry-content .ulta-hero .ulta-hero-image{left:12%;right:auto;mask-image:linear-gradient(to right,transparent,#000 16%);-webkit-mask-image:linear-gradient(to right,transparent,#000 16%)}
 .entry-content .wp-block-group.ulta-container.ulta-hero-copy{max-width:1200px!important}
 .entry-content .ulta-hero h1{max-width:40rem}
 .entry-content .ulta-hero .ulta-lead{max-width:36rem}
 .entry-content .ulta-hero .ulta-eyebrow{max-width:42rem}
}
/* Wide photograph fills the hero naturally; no shifted image or artificial edge fade. */
.entry-content .ulta-hero .ulta-hero-image{left:0;right:0;width:100%;mask-image:none;-webkit-mask-image:none}
.entry-content .ulta-hero .ulta-hero-image img{object-position:65% 35%}
.entry-content .ulta-hero:after{background:linear-gradient(90deg,hsl(222 55% 14% / .76) 0%,hsl(222 55% 14% / .60) 52%,hsl(222 55% 14% / .32) 100%)}
/* Keep tablet hero copy within the open left side of the photograph. */
@media(min-width:768px) and (max-width:1024px){
 .entry-content .ulta-hero h1{max-width:62%;font-size:clamp(2.5rem,5vw,3.25rem)}
 .entry-content .ulta-hero .ulta-lead{max-width:60%;font-size:1.25rem}
 .entry-content .ulta-hero .ulta-eyebrow{max-width:62%}
 .entry-content .ulta-hero .ulta-hero-image img{object-position:75% 35%}
}
/* Give the service-area line and hero trust labels more breathing room. */
.entry-content .ulta-hero .ulta-eyebrow{line-height:1.65}
.entry-content .ulta-hero .ulta-trust-item{font-size:1.1875rem;line-height:1.5;font-weight:700}
.entry-content .ulta-hero .ulta-trust{gap:1rem 2rem}
/* Keep trust icons in matching columns as the labels wrap. */
/* Keep the hero quote action purple in every link state. */
.entry-content .ulta-hero .wp-block-button:not(.is-style-outline) a.wp-block-button__link,
.entry-content .ulta-hero .wp-block-button:not(.is-style-outline) a.wp-block-button__link:visited{background:#6941b5!important;border-color:#6941b5!important;color:#fff!important}
.entry-content .ulta-hero .wp-block-button:not(.is-style-outline) a.wp-block-button__link:hover,
.entry-content .ulta-hero .wp-block-button:not(.is-style-outline) a.wp-block-button__link:focus,
.entry-content .ulta-hero .wp-block-button:not(.is-style-outline) a.wp-block-button__link:active{background:#50318c!important;border-color:#50318c!important;color:#fff!important}
.entry-content .ulta-hero .ulta-trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem 2rem}
.entry-content .ulta-hero .ulta-trust-item{display:grid;grid-template-columns:1.125rem minmax(0,1fr);align-items:start;column-gap:.625rem}
.entry-content .ulta-hero .ulta-trust-item:before{width:1.125rem;height:1.125rem;margin-top:.28em}
@media(max-width:1024px){.entry-content .ulta-hero .ulta-trust{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:539px){.entry-content .ulta-hero .ulta-trust{grid-template-columns:1fr}}

/* Card titles share the destination and retain their heading color. */
.entry-content .ulta-industry-copy h3 a,.entry-content .ulta-industry-copy h3 a:visited{color:inherit;text-decoration:none}
.entry-content .ulta-industry-copy h3 a:hover{color:var(--ulta-light-accent);text-decoration:underline;text-underline-offset:.15em}

/* White outlines distinguish the purple quote actions against dark backgrounds. */
.entry-content .ulta-hero .wp-block-button:not(.is-style-outline) a.wp-block-button__link,
.entry-content .ulta-hero .wp-block-button:not(.is-style-outline) a.wp-block-button__link:is(:visited,:hover,:focus,:active),
#masthead .main-navigation .primary-menu-container>ul>li.ulta-nav-cta>a,
#masthead .main-navigation .primary-menu-container>ul>li.ulta-nav-cta>a:is(:visited,:hover,:focus,:active){border:1px solid #fff!important}
