/* Homepage sections (ported from homepage v3, adapted to core block markup). Loaded on the front page only. */

/* hero */
.hero{position:relative;min-height:100vh;min-height:100svh;background:var(--navy-2);color:#fff;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end}
.hero::after{content:"";position:absolute;inset:0;background:url(img/hero.webp) center/cover no-repeat;opacity:.55;transform:scale(1.06);animation:drift 24s ease-in-out infinite alternate;z-index:0}
@media (max-width:800px){.hero::after{background-image:url(img/hero-sm.webp)}}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(0,29,58,.97) 0%,rgba(0,29,58,.85) 40%,rgba(0,43,84,.35) 75%,rgba(0,43,84,.2) 100%),linear-gradient(0deg,rgba(0,29,58,.9) 0%,rgba(0,29,58,0) 40%)}
@keyframes drift{to{transform:scale(1.14) translate(-1.5%,-1%)}}
.hero>*{position:relative;z-index:2}
.hero-inner{width:100%;display:grid;grid-template-columns:1.3fr .7fr;gap:48px;align-items:end;padding-top:210px;padding-bottom:64px}
.hero .eyebrow{color:var(--sky)}
.hero h1{font-size:clamp(2.6rem,min(5.4vw,9vh),5.6rem);margin:22px 0 26px;color:#fff;max-width:13ch}
.hero h1 em{font-style:normal;color:var(--sky)}
.hero .lede{font-size:clamp(1.05rem,1.35vw,1.22rem);max-width:46ch;color:#d6e0ee;font-weight:300;line-height:1.6;margin:0}
.hero .wp-block-buttons{margin-top:34px}
.pills{display:flex;gap:16px;justify-content:flex-end;align-items:flex-end}
.pills .wp-block-image{width:clamp(86px,8.5vw,130px);aspect-ratio:1/2.5;border-radius:999px;overflow:hidden;border:1px solid rgba(149,169,203,.35);box-shadow:0 30px 60px rgba(0,0,0,.35);margin:0}
.pills .wp-block-image img{width:100%;height:100%;object-fit:cover}
.pills .wp-block-image:nth-child(2){transform:translateY(-44px)}
.pills .wp-block-image:nth-child(3){transform:translateY(-88px)}
.hero-foot{border-top:1px solid rgba(149,169,203,.22)}
.hero-foot>.wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.hero-foot .k{padding:24px 24px 28px 0;border-right:1px solid rgba(149,169,203,.22)}
.hero-foot .k:not(:first-child){padding-left:28px}
.hero-foot .k:last-child{border-right:0}
.hero-foot .k .big{display:block;font-weight:300;font-size:clamp(1.5rem,2.3vw,2.1rem);letter-spacing:-.03em;line-height:1.1;margin:0;color:#fff}
.hero-foot .k p:not(.big){font-size:13px;color:#a9b8cf;margin:0}
.hero :focus-visible{outline-color:#fff}

/* intro */
.intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,7vw,110px);align-items:center}
.statement{font-size:clamp(1.7rem,2.8vw,2.6rem);font-weight:300;letter-spacing:-.025em;line-height:1.2;color:var(--navy);margin:24px 0 38px}
.statement strong{font-weight:300;color:var(--blue)}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:36px;color:var(--mute);font-size:16px}
.cols h3{font-size:19px;font-weight:500;letter-spacing:-.01em;color:var(--ink);margin:0 0 12px;line-height:1.3}
.xsec{position:relative;aspect-ratio:640/580;max-width:600px;margin-left:auto;width:100%}
.xsec svg{width:100%;height:100%;overflow:visible}
.xsec .ring{animation:spin 90s linear infinite;transform-origin:280px 280px}

/* capability cards */
.caps{background:var(--mist)}
.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.cap{background:#fff;border-radius:28px;overflow:hidden;display:flex;flex-direction:column;position:relative;transition:transform .35s,box-shadow .35s}
.cap:hover{transform:translateY(-6px);box-shadow:0 28px 60px rgba(0,43,84,.12)}
.cap>.wp-block-image{aspect-ratio:4/3;overflow:hidden;background:#9b9b9b;margin:0}
.cap>.wp-block-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.cap:hover>.wp-block-image img{transform:scale(1.06)}
.cap>.wp-block-group{padding:30px 32px 34px;display:flex;flex-direction:column;flex:1}
.cap .num{font-size:13px;color:var(--blue);font-weight:500;letter-spacing:.12em;margin:0 0 14px}
.cap h3{font-size:clamp(1.55rem,2vw,1.9rem);color:var(--navy);margin:0 0 14px}
.cap h3 a{text-decoration:none;color:inherit}
.cap h3 a::after{content:"";position:absolute;inset:0}
.cap p{color:var(--mute);font-size:15.5px}
.cap.dark{background:var(--navy);color:#fff}
.cap.dark h3{color:#fff}
.cap.dark p{color:#b8c6da}
.cap.dark .num{color:var(--sky)}
.cap .wire{background:var(--navy-2);aspect-ratio:4/3;display:grid;place-items:center;margin:0}
.cap .wire p{font-weight:300;font-size:clamp(3rem,5vw,4.6rem);letter-spacing:-.04em;color:#fff;line-height:1;text-align:center;margin:0}
.cap .wire p small{display:block;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--sky);margin-top:14px}

/* tube band + founder quote */
.home-quote{position:relative;z-index:2;margin-top:clamp(-150px,-10vw,-60px);padding-bottom:clamp(80px,9vw,130px)}
.home-quote .wp-block-quote{margin:0;border:0;padding:0}
.home-quote .wp-block-quote p{max-width:24ch;font-size:clamp(2rem,4vw,3.8rem);font-weight:300;letter-spacing:-.03em;line-height:1.1;color:var(--navy);margin:0}
.home-quote .wp-block-quote p strong{font-weight:300;color:var(--blue)}
.home-quote .wp-block-quote cite{display:block;font-style:normal;margin-top:24px;font-size:15px;color:var(--mute)}
.home-quote .wp-block-quote cite strong{color:var(--ink);font-weight:500}

/* process steps */
.process{background:var(--navy);color:#fff;overflow:hidden}
.process .h2{color:#fff}
.process .eyebrow{color:var(--sky)}
.process .lead{color:#b8c6da}
.process .sec-foot{border-top-color:rgba(149,169,203,.25)}
.process :focus-visible{outline-color:#fff}
.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(149,169,203,.3)}
.step{padding:40px 32px 8px 0;position:relative}
.step:not(:first-child){padding-left:32px;border-left:1px solid rgba(149,169,203,.18)}
.step::before{content:"";position:absolute;top:-6px;left:0;width:11px;height:11px;border-radius:50%;background:var(--navy);border:2px solid var(--sky)}
.step:not(:first-child)::before{left:-6px}
.step .k{font-size:13px;letter-spacing:.14em;color:var(--sky);font-weight:500;margin:0}
.step h3{font-size:clamp(1.5rem,2vw,1.9rem);margin:16px 0;color:#fff}
.step p{color:#b8c6da;font-size:15.5px}
.step ul.wp-block-list{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:9px}
.step li{font-size:14.5px;color:#dbe4f0;padding-left:20px;position:relative}
.step li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:50%;border:1.5px solid var(--sky)}
.iso{display:flex;align-items:center;gap:24px;max-width:620px}
.iso .wp-block-image{margin:0;flex:none}
.iso .wp-block-image img{height:78px;width:auto}
.iso p{margin:0;color:#c9d5e5;font-size:15px}
.iso p strong{display:block;color:#fff;font-weight:400;font-size:20px;letter-spacing:-.01em;margin-bottom:4px}

/* materials columns */
.mat-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.mat{padding:38px 28px 10px 0}
.mat:not(:first-child){padding-left:28px;border-left:1px solid var(--line)}
.mat h3{font-size:clamp(1.45rem,1.8vw,1.75rem);color:var(--navy);margin:0 0 20px}
.mat h3 a{text-decoration:none;color:inherit}
.mat h3 a:hover{color:var(--blue)}
.mat ul.wp-block-list{list-style:none;padding:0;margin:0;display:grid;gap:10px;font-size:15.5px;color:var(--mute)}
.mat a{text-decoration:none}
.mat li a:hover{color:var(--blue)}

/* timeline (from Microspec's 2026 corporate timeline) */
.history{background:var(--mist);overflow:hidden}
.tl{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));row-gap:48px}
.tl-c{padding:36px 22px 0 0;border-top:1px solid #cfd8e4;position:relative}
.tl-c::before{content:"";position:absolute;top:-6px;left:0;width:11px;height:11px;border-radius:50%;background:var(--mist);border:2px solid var(--blue)}
.tl-c .yr{font-size:clamp(2rem,2.8vw,2.7rem);font-weight:300;letter-spacing:-.04em;color:var(--blue);line-height:1;margin:0}
.tl-c p:not(.yr){margin-top:16px;color:var(--mute);font-size:15px;max-width:30ch}

/* people */
.people-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,6vw,96px);align-items:center}
.mosaic{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.mosaic .wp-block-image{margin:0}
.mosaic .wp-block-image img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:24px}
.mosaic .wp-block-image:nth-child(1) img{border-radius:999px 999px 24px 24px}
.mosaic .wp-block-image:nth-child(4) img{border-radius:24px 24px 999px 999px}
.mosaic .wp-block-image:nth-child(2),.mosaic .wp-block-image:nth-child(4){transform:translateY(40px)}
.people-grid .h2{margin:20px 0 28px}

@media (prefers-reduced-motion:reduce){.hero::after,.xsec .ring{animation:none}}
@media (max-width:1180px){
  .hero-inner{grid-template-columns:1fr;padding-bottom:48px}
  .pills{justify-content:flex-start}
  .pills .wp-block-image{width:88px}
  .pills .wp-block-image:nth-child(2){transform:translateY(-22px)}
  .pills .wp-block-image:nth-child(3){transform:translateY(-44px)}
  .intro-grid,.people-grid{grid-template-columns:minmax(0,1fr)}
  .xsec{margin:0 auto;max-width:460px}
  .cap-grid{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr}
  .step:nth-child(3){border-left:0;padding-left:0}
  .step:nth-child(3)::before{left:0}
  .mat-grid{grid-template-columns:1fr 1fr}
  .mat:nth-child(3){border-left:0;padding-left:0}
  .tl{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:640px){
  .hero-inner{padding-top:170px}
  .pills{display:none}
  .hero .wp-block-button,.hero .wp-block-button__link{flex:1 1 100%;justify-content:center}
  .hero-foot>.wrap{grid-template-columns:1fr 1fr}
  .hero-foot .k{padding:20px 12px 22px 0}
  .hero-foot .k:not(:first-child){padding-left:0}
  .hero-foot .k:nth-child(odd){border-right:1px solid rgba(149,169,203,.22)}
  .hero-foot .k:nth-child(even){padding-left:18px;border-right:0}
  .hero-foot .k:nth-child(-n+2){border-bottom:1px solid rgba(149,169,203,.22)}
  .cols,.cap-grid,.steps,.mat-grid{grid-template-columns:1fr}
  .step,.step:not(:first-child){padding-left:0;border-left:0;padding-right:0}
  .step::before,.step:not(:first-child)::before{left:0}
  .steps{border-top:0}
  .step{border-top:1px solid rgba(149,169,203,.3)}
  .mat,.mat:not(:first-child){padding-left:0;border-left:0;border-top:1px solid var(--line);padding-top:30px}
  .mat-grid{border-top:0}
  .iso{flex-direction:column;align-items:flex-start}
  .tl{grid-template-columns:1fr;row-gap:0;border-left:1px solid #cfd8e4;margin-left:5px}
  .tl-c{border-top:0;padding:0 0 34px 28px}
  .tl-c::before{top:4px;left:-6px}
  .tl-c:last-child{padding-bottom:0}
  .tl-c p:not(.yr){margin-top:10px;max-width:none}
  .mosaic .wp-block-image:nth-child(2),.mosaic .wp-block-image:nth-child(4){transform:translateY(24px)}
}

.sec-head.stack{display:block}
.sec-head.stack .h2{margin-top:18px}
.sec-head.stack .lead{max-width:none;margin-top:26px}
.step h3 a{color:inherit;text-decoration:none}
.step h3 a:hover{text-decoration:underline;text-underline-offset:4px}
