/* A continuous announcement, with a separate reflection in its lettering. */
.announcement.announcement-marquee{z-index:35;height:34px;padding:0;border:0;gap:0;background:var(--accent);color:#f8eeea;overflow:hidden;backdrop-filter:none;-webkit-backdrop-filter:none}
.announcement.announcement-marquee>a{display:block;width:100%;height:100%;margin:0;padding:0;font:10px/34px var(--mono);letter-spacing:.045em;white-space:nowrap}
.announcement-track{display:flex;width:max-content;animation:announcement-travel 110s linear infinite;will-change:transform}
.announcement-group{display:flex;flex:none;justify-content:space-around;min-width:100vw}
.announcement-copy{display:flex;flex:none;gap:28px;padding-right:76px;background:linear-gradient(105deg,#c7acaf 30%,#fff9f5 46%,#fff9f5 49%,#c7acaf 65%);background-size:300% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:announcement-reflection 8s ease-in-out infinite}
.announcement-marquee:hover .announcement-track,.announcement-marquee:focus-within .announcement-track{animation-play-state:paused}
@keyframes announcement-travel{to{transform:translateX(-50%)}}
@keyframes announcement-reflection{0%{background-position:150% 0}65%,100%{background-position:-50% 0}}

/* Shared chrome has the same scale on every page, including the sitemap. */
.site-header{height:68px;padding:0 17px 0 24px;top:50px}
.site-header.scrolled{height:62px;top:15px}
.site-header .nav-link{font:12px/1.4 var(--mono);padding:13px 15px;letter-spacing:0}
.site-header .header-cta{font:12px/1.4 var(--mono);min-height:42px;height:42px;width:148px;min-width:148px;padding-inline:16px;gap:12px}
.site-header .brand{flex:0 1 176px;width:176px}
.site-header .represent-wordmark{width:176px;height:32px}
.system-menu a{font:12px/1.5 var(--mono)}
.system-menu .eyebrow{font:11px/1.5 var(--mono);letter-spacing:.035em}
.system-menu .menu-extra{display:flex;justify-content:space-between;margin-top:8px}
.system-menu .menu-services{margin-top:18px}

/* Neutral diffusion and broad reflections give the case a material surface. */
.engine-frost-material{background:linear-gradient(124deg,rgba(255,255,255,.38),rgba(238,238,236,.20) 36%,rgba(255,255,255,.12) 62%,rgba(255,255,255,.30));backdrop-filter:blur(1.15px) saturate(100%);-webkit-backdrop-filter:blur(1.15px) saturate(100%)}
.engine-glass-left{fill:url(#engine-glass-left)}
.engine-glass-edge{stroke:#ffffffc9}
.engine-box-outline{stroke:#867e756e}

.agreement-section .benefit-section-heading{display:block;margin-bottom:36px}
.agreement-section .benefit-section-heading>p{max-width:540px;margin-top:18px;padding-top:0;color:var(--body);font:15px/23px var(--sans)}
.commercial-hero h1,.services-hero h1{font-size:48px;line-height:52px}
.commercial-lead,.savings-hero .commercial-lead,.services-intro{font-size:16px;line-height:25px}
.pricing-section-heading h2,.pricing-return h2,.service-section-heading h2{font-size:36px;line-height:42px}
.services-hero .hero-actions{gap:0}
.services-hero .hero-actions>.button{border-radius:3px 0 0 3px}
.services-hero .hero-actions>.text-link{border-radius:0 3px 3px 0}
.pricing-scope,.pricing-return,.savings-baseline,.savings-method{position:relative;border-top:0}
.pricing-scope::before,.pricing-return::before,.savings-baseline::before,.savings-method::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:100vw;height:1px;background:var(--line)}

/* One contents tree, with the page link separated from the disclosure control. */
.sitemap-page{max-width:960px;padding-top:184px;padding-bottom:100px}
.sitemap-page h1{margin-bottom:48px}
.contents-tree{border-top:1px solid var(--line)}
.contents-branch{border-bottom:1px solid var(--line)}
.contents-branch summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:24px;min-height:88px;padding:20px 0;font:400 26px/1.3 var(--sans)}
.contents-branch summary::-webkit-details-marker{display:none}
.contents-number{font:12px/1 var(--mono);color:var(--muted);width:30px;flex-shrink:0}
.contents-plus{margin-left:auto;width:28px;height:28px;position:relative;color:var(--accent)}
.contents-plus::before,.contents-plus::after{content:'';position:absolute;top:13px;left:7px;width:14px;height:1px;background:currentColor;transition:transform .22s}
.contents-plus::after{transform:rotate(90deg)}
.contents-branch[open]>summary .contents-plus::after{transform:rotate(0)}
.contents-children{margin-left:54px;padding:0 0 24px;max-width:670px}
.contents-children>a,.contents-leaf>a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:46px;font:15px/22px var(--sans);color:var(--body)}
.contents-children>a::after,.contents-leaf>a::after{content:'↗';font:14px/1 var(--mono);color:#979087}
.contents-children>a:hover,.contents-leaf>a:hover{color:var(--accent)}
.contents-nested{margin:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.contents-nested>summary{min-height:54px;padding:12px 0;font:15px/22px var(--sans)}
.contents-nested .contents-children{margin-left:20px;padding:0 0 16px}
.contents-nested .contents-children>a{font-size:14px;min-height:38px}
.contents-leaf{border-bottom:1px solid var(--line);padding:20px 0}
.contents-leaf>a{font:400 26px/1.3 var(--sans);min-height:48px;justify-content:flex-start;color:var(--ink)}
.contents-leaf>a::after{margin-left:auto;padding-right:6px}

@media(max-width:1100px){
 .site-header .brand{flex-basis:150px;width:150px}
 .site-header .nav-link{padding-inline:12px}
}
@media(max-width:800px){
 .site-header{top:46px;height:59px;padding:0 10px 0 16px}
 .site-header.scrolled{top:9px;height:56px}
 .site-header .brand{flex:0 1 30px;width:30px}
 .site-header .represent-wordmark{width:150px;height:28px}
 .site-header .nav-link{font-size:11px;padding-inline:5px}
 .site-header .header-cta{font-size:11px;height:38px;min-height:38px;padding-inline:12px}
 .commercial-page .site-header .brand{flex-basis:30px;width:30px}
 .commercial-page .site-header .nav-link{font-size:11px}
 .commercial-hero h1,.services-hero h1{font-size:42px;line-height:46px}
 .announcement.announcement-marquee>a{display:block;font-size:9px}
 .announcement-copy{gap:24px;padding-right:48px}
 .sitemap-page{padding-top:150px;padding-bottom:70px}
 .sitemap-page h1{margin-bottom:32px}
 .contents-branch summary,.contents-leaf>a{font-size:22px}
 .contents-nested>summary{font-size:15px}
 .contents-children{margin-left:38px}
 .contents-branch summary{gap:8px}
}
@media(prefers-reduced-motion:reduce){
 .announcement-track,.announcement-copy{animation:none;will-change:auto}
 .announcement-copy{color:#f8eeea;background:none}
}
