/* Berry Good Tech Intro Module v0.005
   Extracted from berrygoodtech.com(5).zip. Intro only: logo + mascot + typing tagline. */
.bgt-intro-module{
  --navy:#06133f;--navy2:#0a1f67;--blue:#087cff;--cyan:#2fe8ff;--aqua:#15d8d4;--green:#57d728;
  --white:#fff;--ink:#0a1744;--muted:#66739a;--surface:#f6f9ff;--radius:32px;
  box-sizing:border-box;position:relative;width:100%;min-height:100svh;display:grid;place-items:center;overflow:hidden;
  background:radial-gradient(circle at 76% 36%,rgba(47,232,255,.22),transparent 25%),radial-gradient(circle at 18% 22%,rgba(8,124,255,.09),transparent 28%),linear-gradient(180deg,#fff 0%,#fbfdff 70%,#f4f8ff 100%);
  color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.bgt-intro-module *{box-sizing:border-box}
.bgt-intro-module img,.bgt-intro-module svg{max-width:100%}


/* ===== Source: modules/brand-logo/brand-logo.css ===== */
/* Berry Good Tech Brand Logo Module v0.30 */
.bgt-brand-logo{
  --bgt-logo-size:min(560px,94vw);
  width:var(--bgt-logo-size);
  max-width:100%;
  display:block;
  line-height:0;
  transform-origin:50% 58%;
  will-change:transform,filter;
  contain:layout style;
}
.bgt-logo-svg{
  display:block;
  width:100%;
  height:auto;
  overflow:visible;
  filter:drop-shadow(0 13px 13px rgba(3,25,83,.08));
}
.bgt-logo-svg text{
  font-family:"Arial Rounded MT Bold","Arial Black","Trebuchet MS",Inter,ui-sans-serif,sans-serif;
  font-weight:900;
  paint-order:stroke fill;
  stroke-linejoin:round;
  stroke-linecap:round;
  cursor:default;
  user-select:none;
}
.bgt-berry-group,.bgt-good-group,.bgt-tech-group{
  transform-box:fill-box;
  transform-origin:center;
  will-change:transform,filter;
}
.bgt-extrude{fill:#061a55;stroke:#061a55}
.bgt-face{stroke:#0a2d82}

/* Reference proportions: GOOD 100%, BERRY ~90%, TECH ~63%. */
.bgt-berry-text{font-size:224px;letter-spacing:-.055em}
.bgt-berry-extrude-wrap .bgt-extrude{stroke-width:38px}
.bgt-berry-face{fill:url(#bgtBerryFill);stroke-width:19px}

.bgt-good-text{font-size:302px;letter-spacing:-.09em}
.bgt-good-extrude{stroke-width:45px}
.bgt-good-face{fill:url(#bgtGoodFill);stroke-width:21px}

.bgt-tech-backplate{
  fill:#061a55;
  stroke:#0a2d82;
  stroke-width:8px;
  filter:drop-shadow(0 8px 0 rgba(3,17,61,.34));
}
.bgt-tech-face{fill:url(#bgtTechFill);stroke-width:12px;font-size:158px;letter-spacing:.01em}
.bgt-tech-extrude{font-size:158px;stroke-width:24px}
.bgt-tech-clip{font-family:"Arial Rounded MT Bold","Arial Black","Trebuchet MS",Inter,ui-sans-serif,sans-serif;font-weight:900;font-size:158px;letter-spacing:.01em}
.bgt-tech-shine{will-change:transform;animation:bgtTechSweep 4.8s ease-in-out infinite}

@keyframes bgtTechSweep{0%,60%{transform:translateX(0)}84%,100%{transform:translateX(1500px)}}

@media (max-width:560px){
  .bgt-brand-logo{
    --bgt-logo-size:min(
      calc(var(--screen-fit-width,100vw)*.95),
      calc(var(--screen-fit-height,100svh)*.39)
    );
  }
}
@media (max-width:560px) and (max-height:700px){
  .bgt-brand-logo{
    --bgt-logo-size:min(
      calc(var(--screen-fit-width,100vw)*.93),
      calc(var(--screen-fit-height,100svh)*.36)
    );
  }
}
@media (prefers-reduced-motion:reduce){.bgt-tech-shine{animation:none}}


/* ===== Source: modules/brand-intro/brand-intro.css ===== */
/* Berry Good Tech Brand Intro Module v0.31 */
[data-brand-intro]{
  position:relative;display:grid;place-items:center;width:100%;transform-origin:50% 58%;z-index:6
}
.bgt-js [data-brand-intro][data-brand-intro-state="hidden"] .bgt-berry-group,
.bgt-js [data-brand-intro][data-brand-intro-state="hidden"] .bgt-good-group,
.bgt-js [data-brand-intro][data-brand-intro-state="hidden"] .bgt-tech-group{opacity:0}
[data-brand-intro] .bgt-brand-logo{min-width:0}
[data-brand-intro][data-brand-intro-state="playing"] .bgt-berry-group,
[data-brand-intro][data-brand-intro-state="playing"] .bgt-good-group,
[data-brand-intro][data-brand-intro-state="playing"] .bgt-tech-group{will-change:transform,opacity,filter}
[data-brand-intro].bgt-brand-intro-focused{z-index:20}
@media (prefers-reduced-motion:reduce){
  .bgt-js [data-brand-intro] .bgt-berry-group,
  .bgt-js [data-brand-intro] .bgt-good-group,
  .bgt-js [data-brand-intro] .bgt-tech-group{opacity:1!important;transform:none!important;filter:none!important}
}


/* ===== Source: modules/typing-tagline/typing-tagline.css ===== */
/* Berry Good Tech Typing Tagline Module v0.26 */
.typing-tagline{
  min-height:40px;
  margin-top:12px;
  padding:0 4px;
  font-size:clamp(18px,2vw,28px);
  line-height:1.3;
  font-weight:900;
  color:var(--navy);
  text-align:center;
  opacity:1;
}
.typing-tagline__text .accent{color:var(--blue)}
.typing-tagline__caret{color:var(--blue);animation:bgtTaglineBlink .8s steps(1) infinite}
@keyframes bgtTaglineBlink{50%{opacity:0}}

@media (max-width:560px){
  .typing-tagline{
    font-size:clamp(14px,4.2vw,18px);
    min-height:38px;
    margin-top:11px;
    white-space:nowrap;
  }
}
@media (max-width:560px) and (max-height:700px){
  .typing-tagline{font-size:14px;min-height:32px;margin-top:8px}
}
@media (prefers-reduced-motion:reduce){
  .typing-tagline__caret{animation:none;opacity:.8}
}


/* ===== Source: modules/hero-intro/hero-intro.css ===== */
/* Berry Good Tech Hero Intro Composition v0.26 */
.hero-showcase{display:contents}
.hero-logo{
  position:relative;z-index:5;grid-column:1/-1;width:min(920px,100%);margin:6px auto 0;
  text-align:center;display:grid;justify-items:center;user-select:none
}
@media (max-width:900px){
  .hero-showcase{display:flex;flex-direction:column;order:1;width:100%}
  .hero-logo{grid-column:auto;margin-top:-10px}
}
@media (max-width:560px){
  .hero-showcase{
    position:relative;display:grid;grid-template-rows:auto auto;align-content:center;justify-items:center;order:1;
    width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
    height:var(--screen-fit-height,100svh);min-height:var(--screen-fit-height,100svh);max-height:var(--screen-fit-height,100svh);
    overflow:hidden;padding:max(52px,calc(env(safe-area-inset-top) + 42px)) 0 max(10px,env(safe-area-inset-bottom));
    background:radial-gradient(circle at 78% 31%,rgba(47,232,255,.15),transparent 28%)
  }
  .hero-logo{grid-column:auto;width:100%;margin:clamp(-8px,-1.2vh,-2px) auto 0;padding:0 10px 4px}
}
@media (max-width:560px) and (max-height:700px){
  .hero-showcase{padding-top:max(48px,calc(env(safe-area-inset-top) + 38px))}
}


/* ===== Source: modules/mascot-stage/mascot-stage.css ===== */
/* Berry Good Tech Mascot Stage Module v0.26 */
.mascot-stage{
  position:relative;
  min-height:570px;
  display:grid;
  place-items:center;
  perspective:1000px;
}
.mascot-parallax{
  position:relative;
  width:min(620px,54vw);
  z-index:2;
  will-change:transform;
}
.mascot{
  display:block;
  width:100%;
  height:auto;
  filter:drop-shadow(0 28px 24px rgba(7,30,94,.14));
  transform-origin:52% 70%;
  will-change:transform,filter;
  transition:filter .25s;
}
.mascot.is-swapping{filter:drop-shadow(0 28px 24px rgba(7,30,94,.14)) brightness(1.06)}
.mascot-shadow{
  position:absolute;left:20%;right:12%;bottom:4%;height:8%;border-radius:50%;
  background:rgba(3,20,72,.12);filter:blur(18px);z-index:-1
}
.tap-pulse{
  position:absolute;right:5%;top:18%;width:120px;height:120px;border-radius:50%;
  border:2px solid rgba(47,232,255,.35);animation:bgtTapPulse 3.6s infinite
}
.pulse-two{animation-delay:1.2s}

/* The mascot owns its own visibility. No other module is allowed to hide .hero-stage. */
.bgt-js .mascot-stage[data-mascot-state="hidden"]{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate3d(14vw,-2vh,0) scale(.94);
  animation:bgtMascotFailsafe .01s linear 7.5s forwards;
}
.bgt-js .mascot-stage[data-mascot-state="entering"]{
  opacity:1;
  visibility:visible;
  pointer-events:none;
  animation:none;
}
.bgt-js .mascot-stage[data-mascot-state="visible"]{
  opacity:1;
  visibility:visible;
  transform:none;
  animation:none;
}

@keyframes bgtTapPulse{0%{transform:scale(.4);opacity:0}20%{opacity:.7}70%,100%{transform:scale(1.35);opacity:0}}
/* Safety valve: if an intro script is interrupted, Berry still becomes visible. */
@keyframes bgtMascotFailsafe{to{opacity:1;visibility:visible;transform:none}}

@media (max-width:900px){
  .mascot-stage{min-height:410px}
  .mascot-parallax{width:min(560px,92vw)}
}
@media (max-width:560px){
  .mascot-stage{
    min-height:0;height:auto;width:100%;max-width:var(--screen-fit-width,100vw);min-width:0;
    display:flex;align-items:flex-end;justify-content:center;padding:0;overflow:visible
  }
  .mascot-parallax{
    width:min(calc(var(--screen-fit-width,100vw)*.94),calc(var(--screen-fit-height,100svh)*.54));
    max-width:94vw;height:auto;margin:0 auto;transform-origin:50% 78%;flex:0 0 auto
  }
  .mascot{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;object-position:center bottom}
  .mascot-shadow,.tap-pulse{display:none}
}
@media (max-width:560px) and (max-height:700px){
  .mascot-parallax{width:min(calc(var(--screen-fit-width,100vw)*.92),calc(var(--screen-fit-height,100svh)*.52))}
}
@media (prefers-reduced-motion:reduce){
  .bgt-js .mascot-stage{opacity:1!important;visibility:visible!important;transform:none!important;filter:none!important;animation:none!important}
}


/* Intro-screen composition rules from the source site's CARE shell. */
.bgt-intro-module .hero-showcase{display:grid;width:min(920px,100%);justify-items:center;align-content:center;gap:0;padding:74px 20px 30px}
.bgt-intro-module .mascot-stage{min-height:0;width:min(580px,86vw)}
.bgt-intro-module .mascot-parallax{width:100%}
.bgt-intro-module .hero-logo{width:min(760px,94vw);margin:-18px auto 0}

/* v0.005 desktop refinement: keep the complete intro inside the viewport while
   giving the rotating typed copy more visual presence. Mobile remains unchanged. */
@media (min-width:701px){
  .bgt-intro-module .hero-showcase{
    height:100svh;min-height:100svh;max-height:100svh;
    grid-template-rows:minmax(0,1fr) auto;align-content:stretch;
    padding:clamp(16px,2.4vh,28px) 20px;overflow:hidden
  }
  .bgt-intro-module .mascot-stage{
    width:min(500px,48svh,52vw);max-height:48svh;align-self:end
  }
  .bgt-intro-module .hero-logo{
    width:min(650px,88vw);margin:clamp(-10px,-1vh,-2px) auto 0;align-self:start
  }
  .bgt-intro-module .bgt-brand-logo{
    --bgt-logo-size:min(440px,45vw,42svh)
  }
  .bgt-intro-module .typing-tagline{
    font-size:clamp(30px,2.8vw,42px);line-height:1.22;
    min-height:54px;margin-top:14px
  }
}

@media (max-width:700px){
  .bgt-intro-module .hero-showcase{height:var(--screen-fit-height,100svh);min-height:var(--screen-fit-height,100svh);padding:max(42px,env(safe-area-inset-top)) 8px max(46px,env(safe-area-inset-bottom));grid-template-rows:1fr auto;align-content:center}
  .bgt-intro-module .mascot-stage{width:100%;align-self:end}
  .bgt-intro-module .mascot-parallax{width:min(calc(var(--screen-fit-width,100vw)*.92),calc(var(--screen-fit-height,100svh)*.50))}
  .bgt-intro-module .hero-logo{margin:-4vh auto 0}
  .bgt-intro-module .bgt-brand-logo{--bgt-logo-size:min(calc(var(--screen-fit-width,100vw)*.92),calc(var(--screen-fit-height,100svh)*.35))}
}
