/* v47 "Who We Are": the owner's section (handoff, 2026-10-23), on white. Lime corner glows, a lime grid and lime
   tags, with the red pen as the highlight on "websites". Outfit is self-hosted (no Google Fonts request). */
@font-face{font-family:Outfit;src:url(/_astro/outfit-latin.bdba243e0f.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
.evw{
  --evw-bg:#fff;
  --evw-ink:#111113;
  --evw-accent:#c4f04a;
  --evw-glow:#b4f02e;
  --evw-target:#a6e22a;
  --evw-grid:rgba(150,185,60,.16);
  --evw-hl:var(--experience-accent,#b72a2a);
  --evw-font:"Outfit",system-ui,-apple-system,"Segoe UI",sans-serif;
  position:relative;isolation:isolate;overflow:hidden;min-height:min(100svh,980px);display:grid;place-items:center;
  padding:clamp(5rem,12vw,9rem) 16px;box-sizing:border-box;background:var(--evw-bg);color:var(--evw-ink);font-family:var(--evw-font)
}
.evw *,.evw *::before,.evw *::after{box-sizing:border-box}
.evw__bg{position:absolute;inset:0;z-index:-1;pointer-events:none}
.evw__grid{position:absolute;inset:0;background-image:linear-gradient(var(--evw-grid) 1px,transparent 1px),linear-gradient(90deg,var(--evw-grid) 1px,transparent 1px);background-size:56px 56px;background-position:center;-webkit-mask:radial-gradient(ellipse 80% 75% at 50% 50%,#000 40%,transparent 100%);mask:radial-gradient(ellipse 80% 75% at 50% 50%,#000 40%,transparent 100%)}
/* soft glows drawn by the gradient alone: a blur filter on two screen-sized layers cost about 200 ms of main-thread
   work on a mid-range phone */
.evw__blob{position:absolute;width:46vmax;height:46vmax;border-radius:50%;background:radial-gradient(circle,var(--evw-glow) 0%,color-mix(in srgb,var(--evw-glow) 52%,transparent) 24%,color-mix(in srgb,var(--evw-glow) 16%,transparent) 46%,transparent 68%);opacity:.8;animation:evw-drift 16s ease-in-out infinite alternate;animation-play-state:paused}
.evw.is-near .evw__blob{animation-play-state:running}
.evw__blob--tr{top:-26vmax;right:-24vmax}
.evw__blob--bl{bottom:-28vmax;left:-26vmax;animation-delay:-8s}
.evw__grain{position:absolute;inset:0;z-index:5;display:none;pointer-events:none;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.evw__inner{width:100%;max-width:980px;display:flex;flex-direction:column;align-items:center}
.evw__eyebrow{margin:0 0 clamp(2rem,6vw,3.5rem);font-weight:600;letter-spacing:-.02em;font-size:clamp(1.5rem,4.6vw,2.6rem);color:var(--evw-ink)}
.evw__stage{position:relative}
.evw__headline{margin:0;font-family:var(--evw-font);font-weight:400;font-size:clamp(2.35rem,10vw,5.4rem);line-height:1.08;letter-spacing:-.035em;color:var(--evw-ink);text-wrap:initial}
.evw__line{display:block;white-space:nowrap}
.evw__strong{font-style:italic;font-weight:800;letter-spacing:-.04em}
.evw__sel{position:relative;display:inline-block}
.evw__sel-word{position:relative;font-style:italic;font-weight:800;letter-spacing:-.04em;color:#fff}
.evw__sel-box{position:absolute;left:-.06em;right:-.1em;top:.06em;bottom:-.02em;background:var(--evw-hl);transform-origin:left center}
.evw__caret{position:absolute;top:.06em;bottom:-.02em;width:2px;background:var(--evw-hl)}
.evw__caret::before{content:"";position:absolute;left:50%;width:0;height:0;border-left:.17em solid transparent;border-right:.17em solid transparent;transform:translateX(-50%)}
.evw__caret--start{left:-.06em}
.evw__caret--start::before{top:-.24em;border-top:.26em solid var(--evw-hl)}
.evw__caret--end{right:-.1em}
.evw__caret--end::before{bottom:-.24em;border-bottom:.26em solid var(--evw-hl)}
.evw__tags{list-style:none;margin:2rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem}
.evw__targets{display:none}
.evw__tag-body{display:inline-block;white-space:nowrap;font-family:var(--evw-font);font-weight:500;letter-spacing:-.01em;font-size:clamp(.82rem,2.5vw,1.4rem);padding:.38em .8em .44em;border-radius:.72em;background:var(--evw-accent);color:var(--evw-ink);box-shadow:0 .35em .9em rgba(55,75,5,.22),inset 0 -2px 0 rgba(0,0,0,.06)}
.evw__tag-pop{display:inline-block;transform:rotate(var(--rot,0deg))}
.evw__target{color:var(--evw-target)}
.evw__target svg{display:block;width:clamp(22px,3.6vw,36px);height:auto;overflow:visible}

.evw--js .evw__tags{margin:0;display:block}
.evw--js .evw__targets{display:block}
.evw--js .evw__float{position:absolute;left:0;top:0;z-index:2;transform:translate(calc(var(--px,0px) + var(--dx,0px)),calc(var(--py,0px) + var(--dy,0px)));transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.evw--js .evw__tag{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
.evw--js .evw__tag.is-grab{cursor:grabbing;transition:none;z-index:4}
.evw--js .evw__tag.is-release{transition:transform .75s cubic-bezier(.34,1.56,.64,1)}
.evw--js .evw__tag.is-grab .evw__tag-body{box-shadow:0 .8em 1.6em rgba(55,75,5,.3)}
.evw--js .evw__tag-body{transition:box-shadow .3s ease}
/* until the tags are placed next to their words, keep them out of sight */
.evw--js:not(.evw--placed) .evw__float{visibility:hidden}

.evw--armed .evw__eyebrow,.evw--armed .evw__line{opacity:0;transform:translateY(.45em);filter:blur(10px)}
.evw--armed .evw__sel-box{transform:scaleX(0)}
.evw--armed .evw__sel-word{color:var(--evw-ink)}
.evw--armed .evw__caret{opacity:0}
.evw--armed .evw__caret--start::before{transform:translate(-50%,-.4em)}
.evw--armed .evw__caret--end::before{transform:translate(-50%,.4em)}
.evw--armed .evw__tag-pop{opacity:0;transform:translateY(.7em) scale(.35) rotate(calc(var(--rot,0deg) - 16deg))}
.evw--armed .evw__target svg{opacity:0;transform:scale(0) rotate(-120deg)}

.evw.is-in .evw__eyebrow,.evw.is-in .evw__line{opacity:1;transform:none;filter:blur(0);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.8,.2,1),filter .9s ease}
.evw.is-in .evw__line{transition-delay:calc(.15s + var(--i) * .11s)}
.evw.is-in .evw__caret{opacity:1;transition:opacity .25s ease .8s}
.evw.is-in .evw__caret--start::before{transform:translateX(-50%);transition:transform .45s cubic-bezier(.34,1.56,.64,1) .8s}
.evw.is-in .evw__sel-box{transform:scaleX(1);transition:transform .6s cubic-bezier(.65,0,.35,1) .9s}
.evw.is-in .evw__sel-word{color:#fff;transition:color .5s ease 1.05s}
.evw.is-in .evw__caret--end{opacity:1;transition:opacity .2s ease 1.35s}
.evw.is-in .evw__caret--end::before{transform:translateX(-50%);transition:transform .45s cubic-bezier(.34,1.56,.64,1) 1.4s}
.evw.is-in .evw__tag-pop{opacity:1;transform:rotate(var(--rot,0deg));transition:opacity .35s ease,transform .8s cubic-bezier(.34,1.56,.64,1);transition-delay:calc(1.35s + var(--n) * .2s)}
.evw.is-in .evw__target svg{opacity:1;transform:none;transition:opacity .3s ease,transform .9s cubic-bezier(.34,1.56,.64,1);transition-delay:calc(1.5s + var(--n) * .2s)}
.evw.is-in.is-near .evw__tag-body{animation:evw-bob 5.5s ease-in-out infinite;animation-delay:calc(2.4s + var(--n) * -1.7s)}
.evw.is-in.is-near .evw__target svg path{transform-origin:13px 19px;animation:evw-wobble 4s ease-in-out infinite;animation-delay:calc(2.6s + var(--n) * .7s)}

@media (min-width:900px){.evw__grain{display:block}}
@keyframes evw-drift{0%{transform:translate(0,0) scale(1)}50%{transform:translate(-3vmax,2vmax) scale(1.08)}100%{transform:translate(2vmax,-2vmax) scale(.96)}}
@keyframes evw-bob{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-.22em) rotate(1.2deg)}}
@keyframes evw-wobble{0%,80%,100%{transform:rotate(0deg)}86%{transform:rotate(-10deg)}92%{transform:rotate(6deg)}}

@media (prefers-reduced-motion:reduce){
  .evw *,.evw *::before{animation:none!important;transition:none!important}
  .evw--armed .evw__eyebrow,.evw--armed .evw__line,.evw--armed .evw__tag-pop,.evw--armed .evw__target svg,.evw--armed .evw__caret,.evw--armed .evw__caret::before{opacity:1;filter:none}
  .evw--armed .evw__eyebrow,.evw--armed .evw__line{transform:none}
  .evw--armed .evw__tag-pop{transform:rotate(var(--rot,0deg))}
  .evw--armed .evw__target svg{transform:none}
  .evw--armed .evw__caret::before{transform:translateX(-50%)}
  .evw--armed .evw__sel-box{transform:none}
  .evw--armed .evw__sel-word{color:#fff}
}
