/* Essence Adverts — home page only: the logo's four-point star, used lightly as an accent.
   Loaded after essence.css by index.html only; every rule is scoped to body.home. */

body.home{
  --star:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 0C50.85 0 51.8 0.11 52.55 1.29C53.3 2.48 53.94 5.28 54.51 7.1C55.08 8.93 55.54 10.72 55.98 12.26C56.42 13.81 56.79 15.14 57.14 16.39C57.5 17.64 57.69 18.33 58.1 19.77C58.51 21.2 59.16 23.48 59.59 25.01C60.03 26.55 60.37 27.8 60.71 28.97C61.06 30.14 61.31 31.17 61.66 32.04C62.01 32.91 62.39 33.56 62.8 34.19C63.22 34.82 63.67 35.33 64.17 35.83C64.67 36.33 65.18 36.78 65.81 37.2C66.44 37.61 67.09 37.99 67.96 38.34C68.83 38.69 69.86 38.94 71.03 39.29C72.2 39.63 73.45 39.97 74.99 40.41C76.52 40.84 78.11 41.3 80.23 41.9C82.36 42.5 85.63 43.42 87.74 44.02C89.85 44.62 91.07 44.92 92.9 45.49C94.72 46.06 97.52 46.7 98.71 47.45C99.89 48.2 100 49.15 100 50C100 50.85 99.89 51.8 98.71 52.55C97.52 53.3 94.72 53.94 92.9 54.51C91.07 55.08 89.28 55.54 87.74 55.98C86.19 56.42 84.86 56.79 83.61 57.14C82.36 57.5 81.67 57.69 80.23 58.1C78.8 58.51 76.52 59.16 74.99 59.59C73.45 60.03 72.2 60.37 71.03 60.71C69.86 61.06 68.83 61.31 67.96 61.66C67.09 62.01 66.44 62.39 65.81 62.8C65.18 63.22 64.67 63.67 64.17 64.17C63.67 64.67 63.22 65.18 62.8 65.81C62.39 66.44 62.01 67.09 61.66 67.96C61.31 68.83 61.06 69.86 60.71 71.03C60.37 72.2 60.03 73.45 59.59 74.99C59.16 76.52 58.7 78.11 58.1 80.23C57.5 82.36 56.58 85.63 55.98 87.74C55.38 89.85 55.08 91.07 54.51 92.9C53.94 94.72 53.3 97.52 52.55 98.71C51.8 99.89 50.85 100 50 100C49.15 100 48.2 99.89 47.45 98.71C46.7 97.52 46.06 94.72 45.49 92.9C44.92 91.07 44.46 89.28 44.02 87.74C43.58 86.19 43.21 84.86 42.86 83.61C42.5 82.36 42.31 81.67 41.9 80.23C41.49 78.8 40.84 76.52 40.41 74.99C39.97 73.45 39.63 72.2 39.29 71.03C38.94 69.86 38.69 68.83 38.34 67.96C37.99 67.09 37.61 66.44 37.2 65.81C36.78 65.18 36.33 64.67 35.83 64.17C35.33 63.67 34.82 63.22 34.19 62.8C33.56 62.39 32.91 62.01 32.04 61.66C31.17 61.31 30.14 61.06 28.97 60.71C27.8 60.37 26.55 60.03 25.01 59.59C23.48 59.16 21.89 58.7 19.77 58.1C17.64 57.5 14.37 56.58 12.26 55.98C10.15 55.38 8.93 55.08 7.1 54.51C5.28 53.94 2.48 53.3 1.29 52.55C0.11 51.8 0 50.85 0 50C0 49.15 0.11 48.2 1.29 47.45C2.48 46.7 5.28 46.06 7.1 45.49C8.93 44.92 10.72 44.46 12.26 44.02C13.81 43.58 15.14 43.21 16.39 42.86C17.64 42.5 18.33 42.31 19.77 41.9C21.2 41.49 23.48 40.84 25.01 40.41C26.55 39.97 27.8 39.63 28.97 39.29C30.14 38.94 31.17 38.69 32.04 38.34C32.91 37.99 33.56 37.61 34.19 37.2C34.82 36.78 35.33 36.33 35.83 35.83C36.33 35.33 36.78 34.82 37.2 34.19C37.61 33.56 37.99 32.91 38.34 32.04C38.69 31.17 38.94 30.14 39.29 28.97C39.63 27.8 39.97 26.55 40.41 25.01C40.84 23.48 41.3 21.89 41.9 19.77C42.5 17.64 43.42 14.37 44.02 12.26C44.62 10.15 44.92 8.93 45.49 7.1C46.06 5.28 46.7 2.48 47.45 1.29C48.2 0.11 49.15 0 50 0Z'/%3E%3C/svg%3E");
}
.ea-sprite{position:absolute;width:0;height:0;overflow:hidden}
.ea-star{display:inline-block;width:1em;height:1em;fill:currentColor;flex:none}

@keyframes starSpin{to{transform:rotate(360deg)}}
@keyframes starIn{0%{transform:scale(0) rotate(-90deg)}100%{transform:scale(1) rotate(0deg)}}

/* loading screen: one calm star, slowly turning */
.home .pl-star{position:absolute;top:50%;left:50%;width:64px;height:64px;margin:-32px 0 0 -32px;color:var(--brand);opacity:.9;animation:starSpin 6s linear infinite}
.home .pl-star svg{width:100%;height:100%;fill:currentColor}

/* headline: the star sits after the last word, like in the logo */
.home .nb{white-space:nowrap}
.home .h1-star{display:inline-block;position:relative;top:-.45em;width:.3em;height:.3em;margin-left:.03em;vertical-align:baseline;color:var(--brand);transform:scale(0)} /* sits top-right of the last letter, like the star in the logo */
.home .h1-star svg{width:100%;height:100%;fill:currentColor}
html.loaded body.home .h1-star{animation:starIn 1s 1.1s cubic-bezier(.2,.7,.2,1) both}

/* "Google Premier Partner" label: a small, still star */
.home .tag .star{display:none}
.home .tag .ea-star{width:13px;height:13px;color:var(--brand)}

/* moving banners: brand stars between the words */
.home .ticker span::after{content:"";display:inline-block;width:.6em;height:.6em;margin:0 34px;background:currentColor;
  -webkit-mask:var(--star) center/contain no-repeat;mask:var(--star) center/contain no-repeat}
.home .ticker.t2 span::after{background:var(--brand)}

/* footer wordmark ends with the logo star */
.home .wordmark .wm-last{position:relative}
.home .wordmark .wm-star{position:absolute;left:97%;top:-.07em;width:.24em;height:.24em;color:var(--brand);-webkit-text-stroke:0;pointer-events:auto}
.home .wordmark .wm-star svg{display:block;width:100%;height:100%;fill:currentColor;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.home .wordmark:hover .wm-star svg{transform:rotate(90deg)}

@media (prefers-reduced-motion:reduce){
  .home .h1-star,html.loaded body.home .h1-star{transform:none}
}

/* ---------- brand typography: accents use the brand sans (thin orange), not an italic serif ---------- */
.home .serif,
.home .light-words .w.accent{font-family:var(--font-head);font-style:normal;font-weight:300;letter-spacing:-.045em;color:var(--brand)}
.home .hero h1 .serif,.home .h2 .serif{font-size:1em;line-height:inherit}
.home .reel-cap h2 .serif{color:var(--brand-2)}
.home .cta h2 .serif{color:#111}
.home .f-top h3 .serif{font-weight:300}
.home .ticker.t2 span{font-family:var(--font-head);font-style:normal;font-weight:300;font-size:clamp(20px,2.4vw,34px);padding:18px 0;letter-spacing:.02em;text-transform:uppercase}
.home .pl-word{font-family:var(--font-head);font-style:normal;font-weight:300;text-transform:uppercase;letter-spacing:.08em;font-size:clamp(15px,1.4vw,20px)}
.home .piece .idx,
.home .b .num,
.home .scard .pic .bignum{font-family:var(--font-head);font-style:normal;font-weight:200;letter-spacing:-.04em}
.home .piece .idx{font-size:18px;font-weight:300}

/* ---------- cursor: normal arrow + a tiny logo star trailing it; small orange tag on projects ---------- */
.home .cur,.home .cur-ring{display:none!important}
.c-star,.c-tag{position:fixed;top:0;left:0;z-index:350;pointer-events:none;display:none;will-change:transform}
.has-star-cursor .c-star,.has-star-cursor .c-tag{display:block}
.c-star{width:10px;height:10px;margin:14px 0 0 12px;background:var(--brand);
  -webkit-mask:var(--star) center/contain no-repeat;mask:var(--star) center/contain no-repeat;
  transition:width .3s,height .3s,margin .3s,opacity .3s}
.c-star.big{width:18px;height:18px;margin:10px 0 0 10px;animation:cStarTurn .6s cubic-bezier(.2,.7,.2,1)}
.c-star.hide{opacity:0}
@keyframes cStarTurn{to{rotate:90deg}}
.c-tag{margin:18px 0 0 18px;padding:7px 11px;background:var(--brand);color:#111;font:800 11px/1 var(--font-head);letter-spacing:.12em;text-transform:uppercase;opacity:0;scale:.8;transition:opacity .2s,scale .2s}
.c-tag.show{opacity:1;scale:1}
/* ---------- Services mega menu: 5 disciplines, full width under the menu bar ---------- */
.home .bar{position:relative}
.home .menu > li.has-mega{position:static}
.home .drop.mega{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0 18px;min-width:0;width:min(1120px,calc(100vw - 48px));left:50%;padding:26px 24px 0;border-radius:6px}
.home .mega .col{display:flex;flex-direction:column;gap:1px}
.home .mega h6{margin:0 12px 12px;padding-bottom:12px;border-bottom:1px solid var(--line);font-family:var(--font-head);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--brand-deep)}
.home .mega .col a{font-size:15px;padding:8px 12px}
.home .drop a.current{position:relative;color:var(--ink);font-weight:600;background:var(--paper);padding-left:26px}
.home .drop a.current::before{content:"";position:absolute;left:10px;top:50%;width:9px;height:9px;margin-top:-4.5px;background:var(--brand);-webkit-mask:var(--star) center/contain no-repeat;mask:var(--star) center/contain no-repeat}
.home .mega-foot{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;padding:16px 12px 18px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.home .mega-foot a{display:inline;padding:0;background:none;font-family:var(--font-head);font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.home .mega-foot a:hover{background:none;color:var(--brand-deep);padding:0}
.home .mega-foot a.current{padding:0;background:none}
.home .mega-foot a.current::before{display:none}
.home .mega-foot span a{color:var(--brand-deep);margin-left:6px}
.home .menu > li > button.current{color:var(--brand-deep)}
@media (max-width:1180px){ .home .drop.mega{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:18px} }
@media (max-width:991px){
  .home .drop.mega{display:none;width:auto;padding:0 0 10px 12px;row-gap:14px}
  .home .menu > li.open > .drop.mega{display:grid;grid-template-columns:1fr}
  .home .mega h6{margin:6px 12px 6px;padding-bottom:6px}
  .home .mega-foot{flex-direction:column;align-items:flex-start;margin-top:4px;padding:14px 12px 4px}
}
