.section{position:relative;min-height:86vh;display:flex;align-items:center;padding:110px 0}
.section--hero{min-height:calc(100vh - var(--header-height))}
.section--transparent{background:transparent}
.section--glass{background:var(--color-surface-glass);border-block:1px solid rgba(105,181,255,.08);backdrop-filter:blur(18px) saturate(1.08)}
.section--solid{background:linear-gradient(180deg,rgba(5,13,24,.985),rgba(3,9,20,.995));box-shadow:0 24px 70px rgba(0,0,0,.22)}
.section--world-window{min-height:56vh;text-align:center}
.eyebrow{margin-bottom:18px;color:var(--color-accent-2);font-weight:700;font-size:.82rem;letter-spacing:.17em}
.hero-lead,.section-copy{max-width:760px;color:var(--color-text-muted);font-size:clamp(1.05rem,2vw,1.35rem)}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:14px;font-weight:700}
.button--primary{background:linear-gradient(135deg,#357ff2,#4eaaff);box-shadow:0 14px 34px rgba(43,117,232,.24)}
.button--ghost{background:rgba(9,23,42,.66);border:1px solid rgba(105,181,255,.14)}
.hero-placeholder{width:min(320px,64vw);aspect-ratio:1;justify-self:end;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(105,181,255,.2);background:radial-gradient(circle,rgba(57,143,255,.18),rgba(8,21,38,.74) 62%);box-shadow:0 0 80px rgba(49,135,255,.16)}
.hero-placeholder span{font-size:4rem;font-weight:800}
.project-card{min-height:210px;padding:26px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:linear-gradient(180deg,rgba(10,25,45,.88),rgba(6,16,30,.92))}
.project-card>span{display:inline-block;margin-bottom:18px;color:var(--color-accent-2);font-size:.78rem;font-weight:700;letter-spacing:.1em}
.project-card p{color:var(--color-text-muted)}
.tech-list span{padding:10px 14px;border-radius:999px;background:rgba(8,22,40,.76);border:1px solid rgba(105,181,255,.12);color:#d6e7f8;font-weight:650}
.world-caption{margin:0;color:rgba(207,232,255,.76);font-weight:700;letter-spacing:.24em;text-shadow:0 0 22px rgba(74,156,255,.34)}
@media(max-width:860px){.section{min-height:auto;padding:88px 0}.section--hero{min-height:calc(100vh - var(--header-height))}.hero-placeholder{justify-self:start}}

/* V0.2.0 - Hero refinement */

.section--hero .hero-grid{
  grid-template-columns:minmax(0,1fr) 300px;
  gap:clamp(44px,7vw,110px);
}
.section--hero .hero-placeholder{
  width:260px;
  justify-self:center;
}
@media(max-width:980px){
  .section--hero h1{
    white-space:normal;
    font-size:clamp(3rem,9vw,4.7rem);
  }
  .section--hero .hero-grid{
    grid-template-columns:1fr;
  }
  .section--hero .hero-placeholder{
    justify-self:start;
    width:220px;
  }
}


/* V0.3.0 - Mountain exploration panel */
.exploration-panel{
position:fixed;
right:20px;
bottom:20px;
z-index:40;
width:min(360px,calc(100vw - 32px));
padding:16px 16px 14px;
border-radius:18px;
border:1px solid rgba(105,181,255,.16);
background:linear-gradient(180deg,rgba(6,16,30,.86),rgba(4,12,24,.92));
backdrop-filter:blur(18px) saturate(1.08);
box-shadow:0 18px 50px rgba(0,0,0,.28);
}
.exploration-panel h3{
margin:0 0 8px;
font-size:1rem;
line-height:1.2;
}
.exploration-panel__eyebrow{
margin:0 0 8px;
color:var(--color-accent-2);
font-weight:700;
font-size:.72rem;
letter-spacing:.16em;
}
.exploration-panel__copy{
margin:0 0 14px;
color:var(--color-text-muted);
font-size:.92rem;
line-height:1.45;
}
.exploration-panel__actions{
display:grid;
grid-template-columns:1fr 1fr;
gap:10px;
}
.mountain-style-btn{
appearance:none;
border:1px solid rgba(105,181,255,.14);
background:rgba(9,23,42,.72);
color:#dcecff;
border-radius:14px;
padding:11px 12px;
font:inherit;
font-size:.88rem;
font-weight:700;
line-height:1.2;
text-align:left;
cursor:pointer;
transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.mountain-style-btn:hover{
transform:translateY(-1px);
border-color:rgba(105,181,255,.24);
background:rgba(13,31,56,.86);
box-shadow:0 10px 24px rgba(0,0,0,.18);
}
.mountain-style-btn.is-active{
border-color:rgba(105,181,255,.34);
background:linear-gradient(135deg,rgba(39,99,190,.42),rgba(24,57,105,.56));
box-shadow:0 12px 28px rgba(29,95,190,.18);
}
.exploration-panel__hint{
margin:10px 0 0;
color:rgba(207,232,255,.56);
font-size:.78rem;
}
@media(max-width:860px){
  .exploration-panel{
    left:12px;
    right:12px;
    bottom:12px;
    width:auto;
  }
  .exploration-panel__actions{
    grid-template-columns:1fr;
  }
}


/* V0.3.1 - Focused comparison */
.exploration-panel__actions--two{
grid-template-columns:1fr;
}


/* V0.3.2 - Hybrid comparison */
.exploration-panel__actions--three{
grid-template-columns:1fr;
}


/* V0.3.3 - Hybrid final refinement */
.exploration-panel__actions--single{
grid-template-columns:1fr;
}


/* V0.3.4 - Composition refinement */
.exploration-panel--compact{
width:min(320px,calc(100vw - 32px));
padding:14px 14px 12px;
background:linear-gradient(180deg,rgba(4,12,24,.78),rgba(4,12,24,.86));
border-color:rgba(105,181,255,.12);
box-shadow:0 14px 36px rgba(0,0,0,.20);
}
.exploration-panel--compact h3{
font-size:.95rem;
margin-bottom:6px;
}
.exploration-panel--compact .exploration-panel__copy{
font-size:.87rem;
line-height:1.42;
margin-bottom:12px;
}
.exploration-panel--compact .exploration-panel__hint{
font-size:.76rem;
}


/* V0.3.34 - Hero typing identity + rotating stack line */
.hero-copy{max-width:820px}
.hero-title{
  display:block;
  min-width:0;
  min-height:1.1em;
  max-width:860px;
  margin-bottom:1rem;
  font-size:clamp(3rem,5.4vw,5.2rem);
  line-height:.98;
  letter-spacing:-.055em;
  white-space:nowrap;
  text-shadow:0 0 30px rgba(40,122,235,.18);
  animation:title-breathe 5.2s ease-in-out infinite;
}
.hero-title__typing{display:inline;min-width:0;transition:filter .28s ease, text-shadow .28s ease, transform .28s ease}
.hero-title__typing.is-typing{filter:drop-shadow(0 0 10px rgba(124,213,255,.12))}
.hero-title__accent{color:#33a8ff;text-shadow:0 0 22px rgba(47,160,255,.34);animation:accent-pulse 2.4s ease-in-out infinite}
.hero-stack{
  display:block;
  min-height:36px;
  margin:12px 0 18px;
  color:#71caff;
  font-size:clamp(1rem,1.8vw,1.18rem);
  font-weight:700;
  letter-spacing:.01em;
  text-shadow:0 0 24px rgba(58,168,255,.30);
  animation:stack-breathe 3.8s ease-in-out infinite;
}
.hero-stack__typing{display:inline;text-shadow:0 0 26px rgba(55,164,255,.22);transition:filter .2s ease, opacity .2s ease, transform .2s ease, text-shadow .2s ease}
.typing-target::after{
  content:"";
  display:inline-block;
  width:3px;
  margin-left:.045em;
  border-radius:999px;
  vertical-align:-.08em;
  background:linear-gradient(180deg, rgba(120,209,255,.95), rgba(42,149,255,.92));
  box-shadow:0 0 16px rgba(55,156,255,.38);
  opacity:0;
  visibility:hidden;
  animation:caret-blink 1.7s ease-in-out infinite;
  animation-play-state:paused;
}
.typing-target.is-cursor-visible::after{
  visibility:visible;
  animation-play-state:running;
}
.hero-title__typing::after{height:.86em;vertical-align:-.04em;box-shadow:0 0 20px rgba(55,156,255,.46)}
.hero-stack__typing::after{height:1.05em;box-shadow:0 0 18px rgba(55,156,255,.40)}
.hero-lead{max-width:720px}
.hero-placeholder{
  width:min(360px,66vw);
  justify-self:end;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(80,181,255,.22);
  background:
    radial-gradient(circle at 42% 38%, rgba(39,117,246,.26), rgba(9,22,38,.76) 58%),
    radial-gradient(circle at 50% 50%, rgba(31,76,130,.12), rgba(4,10,19,.92) 76%);
  box-shadow:0 0 190px rgba(38,136,255,.26), inset 0 0 0 1px rgba(86,174,255,.14);
  position:relative;
  overflow:hidden;
}
.hero-placeholder::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:50%;
  background:conic-gradient(from 230deg, rgba(47,160,255,.0), rgba(47,160,255,.32), rgba(47,160,255,0) 56%);
  filter:blur(12px);
  opacity:.92;
}
.hero-placeholder::after{
  content:"";
  position:absolute;
  inset:10%;
  border-radius:50%;
  background:radial-gradient(circle at 50% 38%, rgba(92,178,255,.22), rgba(16,34,58,0) 66%);
  filter:blur(14px);
}

.hero-placeholder span{position:relative;z-index:1;font-size:4rem;font-weight:800;letter-spacing:-.03em}
@keyframes caret-blink{0%,40%{opacity:1}52%,84%{opacity:0}96%,100%{opacity:1}}
@keyframes title-breathe{0%,100%{text-shadow:0 0 24px rgba(42,128,235,.16)}50%{text-shadow:0 0 34px rgba(58,166,255,.28)}}
@keyframes accent-pulse{0%,100%{text-shadow:0 0 18px rgba(51,168,255,.28);filter:brightness(1)}50%{text-shadow:0 0 34px rgba(51,168,255,.48);filter:brightness(1.14)}}
@keyframes stack-breathe{0%,100%{text-shadow:0 0 18px rgba(58,168,255,.22)}50%{text-shadow:0 0 30px rgba(78,190,255,.36)}}
.hero-title__typing.is-complete{filter:drop-shadow(0 0 12px rgba(124,213,255,.10))}
.hero-stack__typing.is-typing{filter:drop-shadow(0 0 14px rgba(98,200,255,.35));transform:translateY(-1px)}
.hero-stack__typing.is-holding{filter:drop-shadow(0 0 18px rgba(98,200,255,.42));text-shadow:0 0 30px rgba(55,164,255,.30)}
.hero-stack__typing.is-deleting{opacity:1;filter:drop-shadow(0 0 10px rgba(98,200,255,.18))}
@media (prefers-reduced-motion: reduce){
  .hero-title,.hero-stack,.hero-title__accent{animation:none}
  .typing-target::after{animation-duration:2.2s}
}
@media(max-width:980px){
  .hero-title{white-space:normal;font-size:clamp(3rem,9vw,4.7rem)}
}
@media(max-width:860px){
  .hero-stack{font-size:1rem;min-height:28px}
  .hero-stack__typing{min-width:0}
  .hero-placeholder{justify-self:start;width:220px}
}


/* V0.3.67 - About section */
.section--about{
  min-height:auto;
  padding:clamp(110px,11vw,160px) 0;
  overflow:hidden;
}
.section--about::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 15% 18%,rgba(67,143,255,.075),transparent 34%),
    radial-gradient(circle at 88% 72%,rgba(130,87,255,.05),transparent 32%),
    linear-gradient(90deg,transparent,rgba(105,181,255,.018) 50%,transparent);
}
.about-layout{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);
  gap:clamp(48px,7vw,92px);
  align-items:start;
}
.about-story h2{
  max-width:700px;
  margin-bottom:30px;
}
.about-story__text{
  max-width:720px;
  display:grid;
  gap:17px;
}
.about-story__text p{
  margin:0;
  color:var(--color-text-muted);
  font-size:clamp(1rem,1.45vw,1.15rem);
  line-height:1.82;
}
.about-story__text p:first-child{
  color:#c7d9eb;
}
.about-pillars{
  display:grid;
  gap:14px;
}
.about-pillar{
  position:relative;
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:18px;
  align-items:start;
  min-height:150px;
  padding:24px 24px 22px;
  border:1px solid rgba(105,181,255,.12);
  border-radius:18px;
  background:
    linear-gradient(135deg,rgba(12,29,51,.78),rgba(6,17,31,.92)),
    rgba(7,17,31,.74);
  box-shadow:0 18px 50px rgba(0,0,0,.15),inset 0 1px 0 rgba(255,255,255,.02);
  overflow:hidden;
}
.about-pillar::after{
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:42%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(116,215,255,.34));
}
.about-pillar__number{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:13px;
  border:1px solid rgba(116,215,255,.15);
  background:rgba(49,131,234,.10);
  color:var(--color-accent-2);
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.08em;
  box-shadow:0 0 28px rgba(58,168,255,.08);
}
.about-pillar h3{
  margin:2px 0 8px;
  font-size:1.12rem;
  letter-spacing:-.02em;
}
.about-pillar p{
  margin:0;
  color:var(--color-text-muted);
  font-size:.94rem;
  line-height:1.65;
}
.about-manifesto{
  grid-column:1 / -1;
  position:relative;
  margin-top:10px;
  padding:clamp(24px,3vw,34px) clamp(24px,4vw,44px);
  border-left:2px solid rgba(83,176,255,.70);
  border-radius:0 18px 18px 0;
  background:linear-gradient(90deg,rgba(32,92,168,.13),rgba(11,26,47,.42) 58%,rgba(7,17,31,.16));
}
.about-manifesto p{
  max-width:930px;
  margin:0;
  color:#d9e9f8;
  font-size:clamp(1.22rem,2.4vw,1.72rem);
  line-height:1.48;
  letter-spacing:-.025em;
}
.about-manifesto strong{
  color:#f3f9ff;
  font-weight:760;
  text-shadow:0 0 24px rgba(78,170,255,.12);
}
.about-disciplines{
  grid-column:1 / -1;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:-10px;
}
.about-disciplines span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 12px;
  border:1px solid rgba(105,181,255,.10);
  border-radius:999px;
  background:rgba(8,22,40,.52);
  color:rgba(207,232,255,.66);
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.05em;
}
@media(max-width:940px){
  .about-layout{grid-template-columns:1fr;gap:42px}
  .about-story__text{max-width:800px}
  .about-pillars{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .about-pillar{grid-template-columns:1fr;min-height:230px}
  .about-manifesto,.about-disciplines{grid-column:1}
}
@media(max-width:720px){
  .section--about{padding:92px 0}
  .about-layout{gap:34px}
  .about-pillars{grid-template-columns:1fr}
  .about-pillar{grid-template-columns:50px minmax(0,1fr);min-height:0;padding:20px}
  .about-manifesto{padding:22px 20px}
  .about-disciplines{margin-top:-4px}
}


/* V0.3.69 - Projects showcase + MOBLEVO */
.section--projects{
  min-height:auto;
  padding:clamp(110px,11vw,160px) 0;
  overflow:hidden;
  background:
    radial-gradient(circle at 78% 14%,rgba(74,124,255,.07),transparent 34%),
    radial-gradient(circle at 16% 84%,rgba(92,198,255,.045),transparent 34%),
    rgba(7,17,31,.76);
}
.section--projects::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.012),transparent 20%,transparent 80%,rgba(255,255,255,.008));
}
.projects-layout{position:relative;z-index:1}
.projects-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);
  gap:clamp(36px,6vw,84px);
  align-items:end;
  margin-bottom:48px;
}
.projects-heading h2{max-width:720px;margin-bottom:0}
.projects-heading>p{
  max-width:560px;
  margin:0 0 6px;
  color:var(--color-text-muted);
  font-size:1.04rem;
  line-height:1.75;
}
.project-featured{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(350px,.9fr);
  gap:clamp(30px,5vw,62px);
  padding:clamp(28px,4.5vw,52px);
  border:1px solid rgba(105,181,255,.15);
  border-radius:28px;
  background:
    linear-gradient(135deg,rgba(13,32,57,.94),rgba(5,15,29,.97) 64%),
    rgba(7,17,31,.94);
  box-shadow:0 28px 80px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.025);
  overflow:hidden;
}
.project-featured::before{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  right:-180px;
  top:-220px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(79,157,255,.16),rgba(92,92,255,.045) 48%,transparent 70%);
  filter:blur(12px);
}
.project-featured::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  background:linear-gradient(115deg,rgba(116,215,255,.06),transparent 28%,transparent 72%,rgba(144,100,255,.035));
}
.project-featured__content,.project-featured__map{position:relative;z-index:1}
.project-kicker{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:20px;
}
.project-secondary__top{
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-areas:
    "number status"
    "type type";
  align-items:center;
  column-gap:12px;
  row-gap:8px;
  min-height:64px;
  margin-bottom:18px;
}
.project-kicker span:first-child,.project-secondary__number{
  display:grid;
  place-items:center;
  min-width:38px;
  height:28px;
  padding:0 9px;
  border-radius:9px;
  border:1px solid rgba(116,215,255,.16);
  background:rgba(53,128,220,.11);
  color:var(--color-accent-2);
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.08em;
}
.project-secondary__number{grid-area:number}
.project-kicker span:last-child,.project-secondary__type{
  color:rgba(207,232,255,.62);
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.project-secondary__type{
  grid-area:type;
  line-height:1.35;
  white-space:nowrap;
}
.project-featured h3{
  margin:0 0 16px;
  font-size:clamp(2.6rem,5vw,4.4rem);
  letter-spacing:-.055em;
}
.project-featured__lead{
  max-width:720px;
  margin-bottom:30px;
  color:#c3d7ea;
  font-size:clamp(1.05rem,1.7vw,1.24rem);
  line-height:1.72;
}
.project-case-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.project-case-grid>div{
  min-height:145px;
  padding:18px;
  border:1px solid rgba(105,181,255,.09);
  border-radius:15px;
  background:rgba(5,17,32,.46);
}
.project-case-grid span{
  display:block;
  margin-bottom:8px;
  color:var(--color-accent-2);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.project-case-grid p{
  margin:0;
  color:var(--color-text-muted);
  font-size:.91rem;
  line-height:1.68;
}
.project-tech,.project-secondary__meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:20px;
}
.project-tech span,.project-secondary__meta span{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(105,181,255,.1);
  background:rgba(10,28,50,.58);
  color:rgba(214,235,252,.72);
  font-size:.74rem;
  font-weight:700;
}
.project-featured__map{display:flex;align-items:center}
.project-system{
  width:100%;
  padding:20px;
  border:1px solid rgba(116,215,255,.13);
  border-radius:22px;
  background:linear-gradient(180deg,rgba(9,25,46,.86),rgba(5,15,29,.90));
  box-shadow:0 20px 50px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.025);
}
.project-system__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-bottom:15px;
  border-bottom:1px solid rgba(105,181,255,.08);
}
.project-system__brand{font-weight:850;letter-spacing:.12em;font-size:.78rem;color:#dcefff}
.project-system__status{
  padding:5px 8px;
  border-radius:999px;
  background:rgba(78,179,255,.10);
  color:#76d7ff;
  font-size:.66rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.project-system__core{
  margin:18px 0;
  padding:24px 20px;
  border-radius:16px;
  background:
    radial-gradient(circle at 85% 25%,rgba(113,93,255,.12),transparent 36%),
    linear-gradient(135deg,rgba(38,104,188,.16),rgba(10,29,52,.58));
  border:1px solid rgba(105,181,255,.10);
}
.project-system__core span{display:block;margin-bottom:6px;color:rgba(207,232,255,.55);font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.project-system__core strong{display:block;color:#eef8ff;font-size:1.18rem;letter-spacing:-.02em}
.project-system__nodes{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.project-system__nodes>div{
  min-height:102px;
  padding:14px;
  border-radius:14px;
  background:rgba(7,20,38,.62);
  border:1px solid rgba(105,181,255,.075);
}
.project-system__nodes span{display:block;color:rgba(116,215,255,.58);font-size:.62rem;font-weight:850;letter-spacing:.08em}
.project-system__nodes strong{display:block;margin:5px 0 2px;font-size:.89rem;color:#ddecf9}
.project-system__nodes small{display:block;color:rgba(169,189,210,.66);font-size:.72rem;line-height:1.4}
.projects-secondary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:18px;
}
.project-secondary{
  position:relative;
  min-height:310px;
  padding:28px;
  border:1px solid rgba(105,181,255,.11);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(11,28,50,.84),rgba(5,16,30,.94));
  overflow:hidden;
}
.project-secondary::after{
  content:"";
  position:absolute;
  left:0;
  right:55%;
  top:0;
  height:1px;
  background:linear-gradient(90deg,rgba(116,215,255,.42),transparent);
}

.project-status{
  grid-area:status;
  justify-self:end;
  margin-left:0;
  padding:6px 9px;
  border-radius:999px;
  font-size:.64rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}
.project-status--dev{
  color:#c9ddf2;
  border:1px solid rgba(133,183,232,.18);
  background:rgba(65,108,151,.12);
}
.project-secondary h3{margin:4px 0 13px;font-size:clamp(1.8rem,3vw,2.45rem)}
.project-secondary>p{max-width:600px;margin:0;color:var(--color-text-muted);font-size:1rem;line-height:1.74}
.project-secondary--moblevo{
  background:
    radial-gradient(circle at 92% 10%,rgba(184,120,66,.09),transparent 34%),
    linear-gradient(145deg,rgba(18,29,42,.88),rgba(7,17,30,.95));
  border-color:rgba(184,120,66,.16);
}
.project-secondary--moblevo::after{
  right:45%;
  background:linear-gradient(90deg,rgba(184,120,66,.54),transparent);
}
.project-secondary--moblevo .project-secondary__number{
  border-color:rgba(184,120,66,.20);
  background:rgba(184,120,66,.10);
  color:#d69a68;
}
.projects-evolving{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  margin-top:18px;
  padding:22px 24px;
  border:1px solid rgba(105,181,255,.08);
  border-radius:18px;
  background:rgba(6,18,34,.54);
}
.projects-evolving__label{
  display:block;
  margin-bottom:5px;
  color:rgba(116,215,255,.68);
  font-size:.68rem;
  font-weight:850;
  letter-spacing:.12em;
}
.projects-evolving p{margin:0;color:rgba(169,189,210,.72);font-size:.87rem}
.projects-evolving__items{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.projects-evolving__items>span{
  min-width:160px;
  padding:10px 13px;
  border-radius:12px;
  border:1px solid rgba(105,181,255,.08);
  background:rgba(9,24,43,.60);
}
.projects-evolving__items strong{display:block;color:#dfefff;font-size:.78rem;letter-spacing:.06em}
.projects-evolving__items small{display:block;margin-top:2px;color:rgba(169,189,210,.62);font-size:.69rem}
@media(max-width:1180px){
  .projects-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .project-secondary--moblevo{grid-column:1/-1}
}
@media(max-width:980px){
  .projects-heading{grid-template-columns:1fr;gap:18px}
  .project-featured{grid-template-columns:1fr}
  .project-featured__map{max-width:720px}
}
@media(max-width:720px){
  .section--projects{padding:92px 0}
  .project-featured{padding:22px;border-radius:22px}
  .project-case-grid{grid-template-columns:1fr}
  .project-case-grid>div{min-height:0}
  .project-system__nodes{grid-template-columns:1fr}
  .projects-secondary{grid-template-columns:1fr}
  .project-secondary--moblevo{grid-column:auto}
  .project-secondary{min-height:0;padding:22px}
  .projects-evolving{align-items:flex-start;flex-direction:column}
  .projects-evolving__items{justify-content:flex-start;width:100%}
  .projects-evolving__items>span{flex:1 1 150px}
}

@media(max-width:520px){.project-secondary__type{white-space:normal}.project-secondary__top{min-height:0}}


/* V0.3.72 - Secondary projects polish */
.projects-secondary{
  align-items:stretch;
  gap:20px;
  margin-top:20px;
}
.project-secondary{
  display:flex;
  flex-direction:column;
  min-height:350px;
  padding:26px 26px 24px;
  transition:border-color .22s ease,background .22s ease,transform .22s ease,box-shadow .22s ease;
}
.project-secondary:hover{
  transform:translateY(-2px);
  border-color:rgba(105,181,255,.18);
  box-shadow:0 18px 44px rgba(0,0,0,.16);
}
.project-secondary__top{
  grid-template-columns:auto minmax(0,1fr) auto;
  grid-template-areas:"number type status";
  min-height:32px;
  margin-bottom:24px;
  column-gap:10px;
  row-gap:0;
}
.project-secondary__type{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.project-status{
  min-height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:5px 9px;
  line-height:1;
}
.project-secondary__body{
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
}
.project-secondary__phase{
  display:block;
  margin-bottom:8px;
  color:rgba(116,215,255,.60);
  font-size:.66rem;
  font-weight:850;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.project-secondary h3{
  margin:0 0 14px;
  font-size:clamp(1.85rem,2.6vw,2.35rem);
  line-height:1.02;
  letter-spacing:-.035em;
}
.project-secondary__body>p{
  max-width:none;
  margin:0;
  color:rgba(186,208,228,.84);
  font-size:.96rem;
  line-height:1.72;
}
.project-secondary__meta{
  margin-top:24px;
  padding-top:17px;
  border-top:1px solid rgba(105,181,255,.07);
}
.project-secondary__meta span{
  min-height:29px;
  padding:5px 9px;
  font-size:.71rem;
  background:rgba(9,25,45,.58);
}
.project-secondary--moblevo:hover{
  border-color:rgba(184,120,66,.25);
  box-shadow:0 18px 44px rgba(34,18,7,.14);
}
.project-secondary--moblevo .project-secondary__phase{
  color:rgba(214,154,104,.72);
}
.project-secondary--moblevo .project-secondary__meta{
  border-top-color:rgba(184,120,66,.10);
}
.project-secondary--moblevo .project-secondary__meta span{
  border-color:rgba(184,120,66,.12);
  background:rgba(60,38,23,.20);
}
@media(max-width:1180px){
  .project-secondary--moblevo{grid-column:1/-1}
  .project-secondary--moblevo .project-secondary__body>p{max-width:900px}
}
@media(max-width:720px){
  .project-secondary{min-height:0;padding:22px}
  .project-secondary__top{
    grid-template-columns:auto 1fr;
    grid-template-areas:
      "number status"
      "type type";
    row-gap:8px;
    margin-bottom:20px;
  }
  .project-secondary__type{white-space:normal;overflow:visible;text-overflow:clip}
  .project-secondary h3{font-size:clamp(1.75rem,8vw,2.2rem)}
  .project-secondary__body>p{font-size:.94rem;line-height:1.68}
}


/* V0.3.73 - Mobile hero avatar above name */
@media(max-width:860px){
  .section--hero .hero-grid{
    grid-template-columns:1fr;
    grid-template-areas:
      "eyebrow"
      "avatar"
      "title"
      "stack"
      "lead"
      "actions";
    gap:0;
    align-items:start;
  }
  .section--hero .hero-copy{
    display:contents;
  }
  .section--hero .hero-copy>.eyebrow{
    grid-area:eyebrow;
    margin-bottom:22px;
  }
  .section--hero .hero-placeholder{
    grid-area:avatar;
    width:min(210px,54vw);
    justify-self:center;
    margin:0 auto 30px;
  }
  .section--hero .hero-title{
    grid-area:title;
    width:100%;
    margin-bottom:1rem;
    text-align:left;
  }
  .section--hero .hero-stack{
    grid-area:stack;
  }
  .section--hero .hero-lead{
    grid-area:lead;
  }
  .section--hero .hero-actions{
    grid-area:actions;
  }
}


/* V0.3.74 - Experience section */
.section--experience{
  overflow:hidden;
  padding:118px 0 124px;
}
.experience-layout{position:relative}
.experience-layout::before{
  content:"";
  position:absolute;
  width:480px;
  height:480px;
  right:-180px;
  top:-180px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(66,150,255,.075),rgba(66,150,255,0) 68%);
  pointer-events:none;
}
.experience-heading{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(300px,.72fr);
  align-items:end;
  gap:64px;
  margin-bottom:58px;
}
.experience-heading h2{
  max-width:760px;
  margin:0;
  font-size:clamp(2.45rem,4.3vw,4.2rem);
  line-height:1.01;
  letter-spacing:-.05em;
}
.experience-heading>p{
  max-width:560px;
  margin:0 0 4px;
  color:rgba(185,207,228,.80);
  font-size:1rem;
  line-height:1.78;
}
.experience-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(310px,.68fr);
  gap:28px;
  align-items:stretch;
}
.experience-timeline{
  position:relative;
  display:grid;
  gap:0;
  padding:6px 0;
}
.experience-timeline::before{
  content:"";
  position:absolute;
  left:25px;
  top:31px;
  bottom:31px;
  width:1px;
  background:linear-gradient(180deg,rgba(99,191,255,.34),rgba(99,191,255,.10));
}
.experience-step{
  position:relative;
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:22px;
  padding:22px 24px 24px 0;
}
.experience-step+.experience-step{
  border-top:1px solid rgba(105,181,255,.07);
}
.experience-step__number{
  position:relative;
  z-index:1;
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border:1px solid rgba(105,181,255,.18);
  border-radius:15px;
  background:rgba(8,23,42,.94);
  color:#71caff;
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.07em;
  box-shadow:0 10px 28px rgba(0,0,0,.16);
}
.experience-step--current .experience-step__number{
  border-color:rgba(103,199,255,.34);
  background:linear-gradient(145deg,rgba(30,104,181,.34),rgba(10,31,58,.92));
  box-shadow:0 0 26px rgba(59,157,255,.12);
}
.experience-step__eyebrow{
  display:block;
  margin:3px 0 8px;
  color:rgba(113,202,255,.66);
  font-size:.66rem;
  font-weight:850;
  letter-spacing:.13em;
}
.experience-step__content h3{
  margin:0 0 9px;
  color:#eef7ff;
  font-size:clamp(1.25rem,2vw,1.55rem);
  letter-spacing:-.025em;
}
.experience-step__content p{
  max-width:760px;
  margin:0;
  color:rgba(184,206,226,.78);
  font-size:.96rem;
  line-height:1.72;
}
.experience-panel{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:30px;
  border:1px solid rgba(105,181,255,.11);
  border-radius:24px;
  background:linear-gradient(180deg,rgba(10,27,48,.76),rgba(5,16,31,.90));
  box-shadow:0 24px 70px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.025);
  overflow:hidden;
}
.experience-panel::after{
  content:"";
  position:absolute;
  width:260px;
  height:260px;
  right:-90px;
  bottom:-110px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(123,94,255,.10),rgba(123,94,255,0) 68%);
  pointer-events:none;
}
.experience-panel__head{position:relative;z-index:1}
.experience-panel__head>span,
.experience-method__label{
  display:block;
  color:rgba(113,202,255,.64);
  font-size:.66rem;
  font-weight:850;
  letter-spacing:.13em;
}
.experience-panel__head h3{
  margin:9px 0 10px;
  font-size:clamp(1.65rem,2.6vw,2.25rem);
  line-height:1.04;
  letter-spacing:-.04em;
}
.experience-panel__head p{
  margin:0;
  color:rgba(184,206,226,.75);
  font-size:.93rem;
  line-height:1.68;
}
.experience-skills{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin:28px 0 30px;
}
.experience-skills span{
  padding:8px 10px;
  border:1px solid rgba(105,181,255,.10);
  border-radius:10px;
  background:rgba(8,24,43,.68);
  color:rgba(220,239,255,.88);
  font-size:.76rem;
  font-weight:700;
}
.experience-method{
  position:relative;
  z-index:1;
  margin-top:auto;
  padding-top:22px;
  border-top:1px solid rgba(105,181,255,.08);
}
.experience-method p{
  margin:9px 0 0;
  color:rgba(214,232,247,.84);
  font-size:.88rem;
  line-height:1.7;
}
.experience-method b{color:#71caff;font-weight:800}
@media(max-width:980px){
  .experience-heading{grid-template-columns:1fr;gap:18px;margin-bottom:42px}
  .experience-heading>p{max-width:720px}
  .experience-grid{grid-template-columns:1fr}
  .experience-panel{min-height:0}
}
@media(max-width:720px){
  .section--experience{padding:92px 0 98px}
  .experience-heading h2{font-size:clamp(2.2rem,10vw,3.2rem)}
  .experience-step{grid-template-columns:44px minmax(0,1fr);gap:16px;padding:20px 0}
  .experience-timeline::before{left:21px;top:28px;bottom:28px}
  .experience-step__number{width:44px;height:44px;border-radius:13px}
  .experience-step__content p{font-size:.93rem;line-height:1.68}
  .experience-panel{padding:24px;border-radius:20px}
}


/* V0.3.80 - Technology constellation motion boundaries */
.section--technologies{
  position:relative;
  overflow:hidden;
  padding:126px 0 132px;
}
.section--technologies::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 48%,rgba(76,127,255,.075),transparent 34%),
    radial-gradient(circle at 74% 36%,rgba(151,91,255,.055),transparent 28%);
  pointer-events:none;
}
.tech-constellation{position:relative;z-index:1}
.tech-heading{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(290px,.68fr);
  gap:64px;
  align-items:end;
  margin-bottom:54px;
}
.tech-heading h2{
  max-width:790px;
  margin:0;
  font-size:clamp(2.5rem,4.4vw,4.25rem);
  line-height:1;
  letter-spacing:-.052em;
}
.tech-heading>p{
  max-width:540px;
  margin:0 0 5px;
  color:rgba(185,207,228,.78);
  font-size:1rem;
  line-height:1.78;
}
.tech-stage{
  --tech-tilt-x:0px;
  --tech-tilt-y:0px;
  position:relative;
  height:620px;
  border:1px solid rgba(105,181,255,.10);
  border-radius:30px;
  background:
    linear-gradient(rgba(105,181,255,.024) 1px,transparent 1px),
    linear-gradient(90deg,rgba(105,181,255,.024) 1px,transparent 1px),
    radial-gradient(circle at 50% 50%,rgba(15,47,84,.50),rgba(4,14,28,.92) 66%);
  background-size:48px 48px,48px 48px,auto;
  background-position:var(--tech-grid-drift-x,0px) var(--tech-grid-drift-y,0px),var(--tech-grid-drift-y,0px) var(--tech-grid-drift-x,0px),center;
  box-shadow:0 30px 90px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.025);
  overflow:hidden;
  perspective:900px;
  transform:translateZ(0);
}
.tech-stage::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(115deg,transparent 26%,rgba(111,195,255,.035) 44%,transparent 62%);
  transform:translateX(-120%);
  animation:tech-scan 8.5s ease-in-out infinite;
  pointer-events:none;
}
.tech-stage__glow{
  position:absolute;
  left:50%;top:50%;
  width:380px;height:380px;
  border-radius:50%;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(64,162,255,.14),rgba(105,86,255,.055) 42%,transparent 70%);
  filter:blur(12px);
  will-change:transform;
}
.tech-orbit{
  position:absolute;
  left:50%;top:50%;
  border:1px solid rgba(113,202,255,.10);
  border-radius:50%;
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.tech-orbit::before,.tech-orbit::after{
  content:"";
  position:absolute;
  width:8px;height:8px;
  border-radius:50%;
  background:#77d7ff;
  box-shadow:0 0 18px rgba(90,197,255,.72);
}
.tech-orbit--outer{width:72%;height:72%;animation:tech-orbit-spin 15s linear infinite}
.tech-orbit--outer::before{left:10%;top:15%}.tech-orbit--outer::after{right:8%;bottom:21%}
.tech-orbit--inner{width:43%;height:43%;border-color:rgba(169,119,255,.11);animation:tech-orbit-spin-reverse 11s linear infinite}
.tech-orbit--inner::before{right:4%;top:39%;background:#ba8cff;box-shadow:0 0 18px rgba(178,118,255,.66)}
.tech-orbit--inner::after{left:17%;bottom:6%;background:#65e7d5;box-shadow:0 0 18px rgba(90,232,210,.55)}
.tech-network{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.tech-network path{fill:none;stroke:rgba(111,195,255,.115);stroke-width:1.05;stroke-dasharray:4 10;animation:tech-line-flow 4.2s linear infinite}
.tech-network__group--backend path{stroke:rgba(91,200,255,.15)}
.tech-network__group--infra path{stroke:rgba(112,232,210,.11)}
.tech-network__group--security path{stroke:rgba(189,137,255,.14)}
.tech-core{
  position:absolute;
  left:50%;top:50%;
  width:188px;height:188px;
  display:grid;
  place-content:center;
  justify-items:center;
  border:1px solid rgba(105,181,255,.22);
  border-radius:50%;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle at 42% 32%,rgba(47,145,242,.30),rgba(12,35,65,.94) 62%);
  box-shadow:0 0 70px rgba(54,139,255,.16),inset 0 0 30px rgba(98,197,255,.06);
  text-align:center;
  will-change:transform;
}
.tech-core::before{
  content:"";
  position:absolute;
  inset:-13px;
  border:1px solid rgba(105,181,255,.08);
  border-radius:50%;
  animation:tech-core-pulse 3.8s ease-in-out infinite;
}
.tech-core__eyebrow{color:rgba(113,202,255,.68);font-size:.62rem;font-weight:850;letter-spacing:.15em}
.tech-core strong{margin:6px 0 4px;color:#f1f8ff;font-size:1.45rem;letter-spacing:-.035em}
.tech-core small{color:rgba(190,214,234,.62);font-size:.72rem}
.tech-node{
  position:absolute;
  min-width:126px;
  padding:12px 14px 11px;
  border:1px solid rgba(105,181,255,.13);
  border-radius:14px;
  background:rgba(7,22,41,.87);
  box-shadow:0 12px 34px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.02);
  color:#e9f5ff;
  font:inherit;
  text-align:left;
  cursor:default;
  transform:translate(-50%,-50%);
  transition:border-color .22s ease,background .22s ease,opacity .22s ease,box-shadow .22s ease;
  z-index:3;
  will-change:transform;
}
.tech-node::before{
  content:"";
  position:absolute;
  left:10px;top:-3px;
  width:22px;height:3px;
  border-radius:999px;
  background:#6fcaff;
  box-shadow:0 0 15px rgba(100,201,255,.48);
}
.tech-node span{display:block;font-size:.9rem;font-weight:800;letter-spacing:-.015em}
.tech-node small{display:block;margin-top:3px;color:rgba(179,207,230,.57);font-size:.67rem;font-weight:650}
.tech-node:hover,.tech-node:focus-visible,.tech-node.is-related{
  border-color:rgba(113,202,255,.36);
  background:rgba(10,35,63,.95);
  box-shadow:0 16px 42px rgba(0,0,0,.24),0 0 28px rgba(70,155,255,.09);
  outline:2px solid rgba(113,202,255,.78);
  outline-offset:3px;
}
.tech-node.is-muted{opacity:.34}
.tech-node[data-tech-group="infra"]::before{background:#64dfd2;box-shadow:0 0 15px rgba(100,223,210,.42)}
.tech-node[data-tech-group="security"]::before{background:#bb8cff;box-shadow:0 0 15px rgba(187,140,255,.44)}
.tech-node--php{left:50%;top:12%;--depth:.22}
.tech-node--js{left:24%;top:21%;--depth:.38}
.tech-node--html{left:15%;top:48%;--depth:.30}
.tech-node--css{left:26%;top:80%;--depth:.42}
.tech-node--mysql{left:74%;top:20%;--depth:.36}
.tech-node--api{left:84%;top:47%;--depth:.28}
.tech-node--linux{left:77%;top:76%;--depth:.44}
.tech-node--git{left:57%;top:84%;--depth:.24}
.tech-node--automation{left:40%;top:85%;--depth:.34}
.tech-node--security{left:18%;top:72%;--depth:.25}
.tech-node--ai{left:39%;top:29%;--depth:.40}
.tech-legend{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:20px;color:rgba(188,211,230,.62);font-size:.74rem;font-weight:700}
.tech-legend span{display:inline-flex;align-items:center;gap:7px}
.tech-legend__dot{width:7px;height:7px;border-radius:50%;background:#71caff;box-shadow:0 0 10px rgba(113,202,255,.35)}
.tech-legend__dot--infra{background:#64dfd2}.tech-legend__dot--security{background:#bb8cff}
.tech-legend__dot--backend{background:#5bc8ff}.tech-legend__dot--frontend{background:#71caff}
@keyframes tech-line-flow{to{stroke-dashoffset:-84}}
@keyframes tech-scan{0%,20%{transform:translateX(-120%)}70%,100%{transform:translateX(120%)}}
@keyframes tech-orbit-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes tech-orbit-spin-reverse{to{transform:translate(-50%,-50%) rotate(-360deg)}}
@keyframes tech-core-pulse{0%,100%{opacity:.45;transform:scale(.96)}50%{opacity:.9;transform:scale(1.06)}}
@media(max-width:980px){
  .tech-heading{grid-template-columns:1fr;gap:18px;margin-bottom:42px}
  .tech-heading>p{max-width:720px}
  .tech-stage{height:570px}
  .tech-node{min-width:112px;padding:11px 12px}
}
@media(max-width:860px){
  .section--technologies{padding:96px 0 104px}
  .tech-heading{margin-bottom:34px}
  .tech-heading h2{font-size:clamp(2.2rem,10vw,3.25rem)}
  .tech-stage{
    height:clamp(430px,116vw,500px);
    min-height:430px;
    max-height:500px;
    display:block;
    padding:0;
    border-radius:24px;
    background:
      linear-gradient(rgba(105,181,255,.020) 1px,transparent 1px),
      linear-gradient(90deg,rgba(105,181,255,.020) 1px,transparent 1px),
      radial-gradient(circle at 50% 48%,rgba(15,47,84,.48),rgba(4,14,28,.94) 70%);
    background-size:34px 34px,34px 34px,auto;
    overflow:hidden;
  }
  .tech-stage::after{display:block;opacity:.55;animation-duration:11s}
  .tech-stage__glow{display:block;width:230px;height:230px;filter:blur(10px)}
  .tech-orbit{display:block}
  .tech-orbit--outer{width:78%;height:64%;animation-duration:36s}
  .tech-orbit--inner{width:49%;height:40%;animation-duration:28s}
  .tech-network{display:block;opacity:.72}
  .tech-network path{stroke-width:.85;stroke-dasharray:3 10;animation-duration:11s}
  .tech-core{
    position:absolute;
    left:50%;top:49%;
    width:116px;height:116px;
    padding:0;
    border-radius:50%;
    transform:translate(-50%,-50%);
    transform-origin:center;
    will-change:transform;
    z-index:4;
  }
  .tech-core::before{display:block;inset:-9px}
  .tech-core__eyebrow{font-size:.48rem;letter-spacing:.13em}
  .tech-core strong{margin:4px 0 2px;font-size:.92rem}
  .tech-core small{font-size:.52rem}
  .tech-node{
    position:absolute;
    min-width:68px;
    width:auto;
    max-width:88px;
    padding:7px 8px 6px;
    border-radius:10px;
    transform:translate(-50%,-50%);
    transform-origin:center;
    will-change:transform;
    cursor:default;
    box-shadow:0 8px 22px rgba(0,0,0,.20),inset 0 1px rgba(255,255,255,.018);
  }
  .tech-node::before{left:8px;width:16px;height:2px}
  .tech-node span{font-size:.66rem;line-height:1.08;white-space:nowrap}
  .tech-node small{margin-top:2px;font-size:.49rem;line-height:1.05;white-space:nowrap}
  .tech-node.is-muted{opacity:.34}
  .tech-node--php{left:50%;top:9%}
  .tech-node--js{left:19%;top:18%}
  .tech-node--html{left:12%;top:43%}
  .tech-node--css{left:22%;top:75%}
  .tech-node--mysql{left:81%;top:18%}
  .tech-node--api{left:88%;top:43%}
  .tech-node--linux{left:82%;top:73%}
  .tech-node--git{left:67%;top:88%}
  .tech-node--automation{left:32%;top:89%;max-width:92px}
  .tech-node--security{left:13%;top:62%;max-width:92px}
  .tech-node--ai{left:35%;top:28%}
  .tech-legend{margin-top:16px;gap:9px 14px;font-size:.67rem}
}
@media(max-width:520px){
  .tech-stage{height:445px;min-height:445px;border-radius:21px}
  .tech-node{min-width:64px;max-width:82px;padding:6px 7px 6px}
  .tech-node span{font-size:.62rem}
  .tech-node small{font-size:.46rem}
  .tech-node--automation,.tech-node--security{max-width:88px}
}
@media(max-width:380px){
  .tech-stage{height:430px;min-height:430px}
  .tech-core{width:106px;height:106px}
  .tech-node{min-width:60px;max-width:78px;padding:6px}
  .tech-node span{font-size:.59rem}
  .tech-node small{font-size:.44rem}
  .tech-node--js{left:17%;top:18%}
  .tech-node--ai{left:35%;top:29%}
  .tech-node--security{left:15%;top:62%}
  .tech-node--mysql{left:82%}
  .tech-node--api{left:87%}
}
/* No mobile, a constelação mantém a mesma linguagem do desktop em formato miniaturizado:
   núcleo, órbitas, conexões e nós permanecem visíveis com movimento de baixa amplitude. */


/* V0.3.84 - Contact channels + closing section */
.section--contact{
  position:relative;
  min-height:88vh;
  display:flex;
  align-items:center;
  padding:126px 0 118px;
  overflow:hidden;
}
.section--contact::before{
  content:"";
  position:absolute;
  width:560px;
  height:560px;
  right:-180px;
  top:50%;
  border-radius:50%;
  transform:translateY(-50%);
  background:radial-gradient(circle,rgba(72,151,255,.09),rgba(97,80,220,.035) 42%,transparent 70%);
  filter:blur(10px);
  pointer-events:none;
}
.contact-layout{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(420px,.78fr);
  gap:82px;
  align-items:center;
}
.contact-copy h2{
  max-width:760px;
  margin:0;
  font-size:clamp(2.7rem,5.2vw,5.1rem);
  line-height:.98;
  letter-spacing:-.058em;
}
.contact-copy h2 span{
  color:#78cfff;
  text-shadow:0 0 34px rgba(78,167,255,.16);
}
.contact-lead{
  max-width:660px;
  margin:28px 0 0;
  color:rgba(187,210,230,.76);
  font-size:1.04rem;
  line-height:1.8;
}
.contact-channels{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:34px;
}
.contact-channel{
  position:relative;
  min-width:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:11px;
  align-items:center;
  padding:14px;
  border:1px solid rgba(105,181,255,.115);
  border-radius:16px;
  background:linear-gradient(145deg,rgba(9,29,51,.72),rgba(5,17,32,.72));
  box-shadow:inset 0 1px rgba(255,255,255,.018);
  color:inherit;
  text-decoration:none;
  overflow:hidden;
  transition:border-color .22s ease,background .22s ease,transform .22s ease,box-shadow .22s ease;
}
.contact-channel::before{
  content:"";
  position:absolute;
  inset:auto 12% -46px;
  height:70px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(93,184,255,.12),transparent 68%);
  opacity:0;
  transition:opacity .22s ease;
  pointer-events:none;
}
.contact-channel:hover,.contact-channel:focus-visible{
  border-color:rgba(113,202,255,.30);
  background:linear-gradient(145deg,rgba(12,39,68,.88),rgba(6,21,39,.9));
  transform:translateY(-3px);
  box-shadow:0 16px 36px rgba(0,0,0,.18),0 0 28px rgba(75,166,255,.055),inset 0 1px rgba(255,255,255,.025);
  outline:2px solid rgba(128,212,255,.78);
  outline-offset:3px;
}
.contact-channel:hover::before,.contact-channel:focus-visible::before{opacity:1}
.contact-channel--email{border-color:rgba(108,201,255,.19)}
.contact-channel__icon{
  position:relative;
  z-index:1;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid rgba(112,198,255,.14);
  border-radius:10px;
  background:rgba(14,43,71,.58);
  color:#79d1ff;
}
.contact-channel__icon svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.contact-channel__copy{position:relative;z-index:1;min-width:0}
.contact-channel__copy small{
  display:block;
  color:rgba(112,200,255,.56);
  font-size:.52rem;
  font-weight:900;
  letter-spacing:.14em;
}
.contact-channel__copy strong{
  display:block;
  overflow:hidden;
  margin-top:4px;
  color:#edf7ff;
  font-size:.73rem;
  font-weight:790;
  letter-spacing:-.012em;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.contact-channel__copy em{
  display:block;
  margin-top:4px;
  color:rgba(177,204,225,.48);
  font-size:.58rem;
  font-style:normal;
  font-weight:650;
}
.contact-channel__arrow{
  position:relative;
  z-index:1;
  align-self:start;
  color:rgba(125,205,255,.4);
  font-size:.82rem;
  transition:color .22s ease,transform .22s ease;
}
.contact-channel:hover .contact-channel__arrow,.contact-channel:focus-visible .contact-channel__arrow{color:#80d4ff;transform:translate(2px,-2px)}
.contact-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
.contact-actions--secondary .button{
  min-height:38px;
  padding:9px 13px;
  font-size:.72rem;
}
.contact-scope{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:34px;
}
.contact-scope span{
  padding:8px 11px;
  border:1px solid rgba(105,181,255,.11);
  border-radius:999px;
  background:rgba(7,22,40,.44);
  color:rgba(184,209,229,.67);
  font-size:.7rem;
  font-weight:760;
  letter-spacing:.025em;
}
.contact-flow{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(105,181,255,.13);
  border-radius:26px;
  background:linear-gradient(155deg,rgba(10,31,55,.84),rgba(4,14,27,.94));
  box-shadow:0 32px 90px rgba(0,0,0,.27),inset 0 1px rgba(255,255,255,.025);
}
.contact-flow::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(105,181,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(105,181,255,.018) 1px,transparent 1px);
  background-size:34px 34px;
  pointer-events:none;
}
.contact-flow::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:140px;
  left:-180px;
  background:linear-gradient(90deg,transparent,rgba(116,203,255,.045),transparent);
  animation:contact-sweep 8s ease-in-out infinite;
  pointer-events:none;
}
.contact-flow__header{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:12px;
  align-items:center;
  padding:20px 22px;
  border-bottom:1px solid rgba(105,181,255,.09);
}
.contact-flow__signal{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#69d9ff;
  box-shadow:0 0 16px rgba(105,217,255,.65);
  animation:contact-signal 2.4s ease-in-out infinite;
}
.contact-flow__header small{
  display:block;
  color:rgba(108,197,255,.62);
  font-size:.58rem;
  font-weight:850;
  letter-spacing:.16em;
}
.contact-flow__header strong{
  display:block;
  margin-top:4px;
  color:#edf7ff;
  font-size:.92rem;
}
.contact-flow__code{
  color:rgba(173,202,226,.45);
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.12em;
}
.contact-flow__steps{
  position:relative;
  z-index:1;
  padding:12px 22px 10px;
}
.contact-flow__step{
  position:relative;
  display:grid;
  grid-template-columns:46px 1fr;
  gap:15px;
  padding:22px 0;
}
.contact-flow__step+.contact-flow__step{
  border-top:1px solid rgba(105,181,255,.075);
}
.contact-flow__number{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border:1px solid rgba(111,196,255,.15);
  border-radius:12px;
  background:rgba(13,42,70,.64);
  color:#78cfff;
  font-size:.7rem;
  font-weight:900;
  box-shadow:inset 0 1px rgba(255,255,255,.025);
}
.contact-flow__step h3{
  margin:0 0 6px;
  color:#edf7ff;
  font-size:1rem;
}
.contact-flow__step p{
  margin:0;
  color:rgba(179,205,227,.62);
  font-size:.78rem;
  line-height:1.62;
}
.contact-flow__footer{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:10px;
  padding:16px 22px 19px;
  border-top:1px solid rgba(105,181,255,.08);
  color:rgba(166,198,223,.43);
  font-size:.56rem;
  font-weight:850;
  letter-spacing:.13em;
}
.contact-flow__footer i{
  flex:1;
  height:1px;
  background:linear-gradient(90deg,rgba(105,181,255,.08),rgba(105,181,255,.25),rgba(105,181,255,.08));
}
@keyframes contact-sweep{
  0%,18%{left:-180px}
  68%,100%{left:calc(100% + 40px)}
}
@keyframes contact-signal{
  0%,100%{opacity:.48;transform:scale(.88)}
  50%{opacity:1;transform:scale(1.12)}
}
@media(max-width:980px){
  .contact-layout{grid-template-columns:1fr;gap:48px}
  .contact-copy h2{max-width:820px}
  .contact-lead{max-width:720px}
  .contact-flow{max-width:760px}
}
@media(max-width:760px){
  .contact-channels{grid-template-columns:1fr;margin-top:28px}
  .contact-channel{padding:15px}
  .contact-channel__copy strong{font-size:.8rem}
}
@media(max-width:680px){
  .section--contact{min-height:auto;padding:96px 0 88px}
  .contact-layout{gap:38px}
  .contact-copy h2{font-size:clamp(2.45rem,12vw,3.55rem)}
  .contact-lead{margin-top:22px;font-size:.96rem;line-height:1.72}
  .contact-actions{margin-top:16px}
  .contact-actions .button{width:100%;justify-content:center}
  .contact-scope{margin-top:25px;gap:7px}
  .contact-scope span{font-size:.64rem}
  .contact-flow{border-radius:20px}
  .contact-flow__header{padding:18px}
  .contact-flow__steps{padding:8px 18px 6px}
  .contact-flow__step{grid-template-columns:40px 1fr;gap:12px;padding:19px 0}
  .contact-flow__number{width:36px;height:36px;border-radius:10px}
  .contact-flow__footer{padding:15px 18px 17px;gap:7px;font-size:.49rem}
}
@media(prefers-reduced-motion:reduce){
  .contact-flow::after,.contact-flow__signal{animation:none}
}
