/* Cloudpeakify GCP flow. Scoped to the previewed public page families. */
:is(.gcp-flow-page,.gcp-service-page) {
  --gcp-ink:#edf4f7; --gcp-muted:#a1b6c2; --gcp-line:rgba(149,195,216,.2);
  --gcp-blue:#79a9ff; --gcp-green:#91ddb6; --gcp-amber:#f3ca7c; --gcp-red:#ff938e;
  --gcp-cyan:#8deaff; --gcp-panel:#09121b; --gcp-time:180ms;
  background-color:#04090f; color:var(--gcp-ink);
  /* Clipping must not create a separate body scroll container: both navigation
     bars use the document viewport as their native sticky boundary. */
  overflow-x:clip; overflow-y:visible;
}
:is(.gcp-flow-page,.gcp-service-page) :focus-visible { outline:2px solid var(--gcp-cyan); outline-offset:5px; }
:is(.gcp-flow-page,.gcp-service-page) .header { background:rgba(5,12,19,.95); border-bottom:1px solid var(--gcp-line); }
:is(.gcp-flow-page,.gcp-service-page) .header .navbar { min-height:5rem; padding-block:1rem; }
:is(.gcp-flow-page,.gcp-service-page) .logo a {
  width:auto; min-width:174px; height:38px; padding-left:44px; align-items:center;
  text-indent:0; background-position:left center; background-size:32px;
  font-size:1.1rem; font-weight:650; letter-spacing:-.045em; border-radius:0;
}
.gcp-flow-page .topbar { font-size:.62rem!important; letter-spacing:.13em!important; background:#080f17!important; }
.gcp-flow-page .topbar::after { content:""; position:absolute; bottom:-1px; left:0; width:100%; height:1px;
  background:linear-gradient(90deg,#6ba1ff 0 25%,#85d6ab 25% 50%,#efc477 50% 75%,#f48d89 75%); opacity:.72; }
.gcp-skip { position:fixed; z-index:1000; left:1rem; top:1rem; padding:.8rem 1.1rem; background:var(--gcp-cyan); color:#061019; transform:translateY(-180%); }
.gcp-skip:focus { transform:none; }
.gcp-flow-page .infrastructure-journey { --journey-cyan:var(--gcp-cyan); }
.gcp-flow-page #home-hero.infrastructure-hero { padding-block:2.5rem 3rem; min-height:calc(100svh - 7rem); }
.gcp-flow-page #home-hero.infrastructure-hero > .container { width:min(1280px,calc(100% - 5rem)); grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:3rem; min-height:calc(100svh - 12.5rem); }
.gcp-flow-page #home-hero.infrastructure-hero .hero-headline { min-width:0; padding:0; text-shadow:none; }
.gcp-flow-page #home-hero.infrastructure-hero .hero-headline::before { inset:-4rem -5rem -4rem -6rem; background:radial-gradient(ellipse at 20% 50%,#04090ff5 25%,#04090fc2 60%,transparent 85%); }
.gcp-flow-page #home-hero.infrastructure-hero h1 { max-width:none; font-size:clamp(3rem,4.75vw,5.2rem); font-weight:650; line-height:1.03; letter-spacing:-.065em; margin:1.1rem 0 1.5rem; text-wrap:initial; }
.gcp-flow-page #home-hero.infrastructure-hero h1 span { color:var(--gcp-cyan); }
.gcp-flow-page #home-hero.infrastructure-hero .gcp-kicker { display:flex; align-items:center; gap:.7rem; margin:0; color:var(--gcp-muted); font:600 .63rem/1.5 ui-monospace,monospace; letter-spacing:.11em; }
.gcp-spectrum { display:inline-flex; gap:3px; }
.gcp-spectrum i { display:block; width:6px; height:11px; background:var(--gcp-blue); }
.gcp-spectrum i:nth-child(2) { background:var(--gcp-green); }
.gcp-spectrum i:nth-child(3) { background:var(--gcp-amber); }
.gcp-spectrum i:nth-child(4) { background:var(--gcp-red); }
.gcp-flow-page #home-hero.infrastructure-hero .hero-headline > .gcp-intro { max-width:47ch; color:#b1c0ca; font-size:1.02rem; line-height:1.65; }
.gcp-mission { --mission-color:var(--gcp-blue); margin-top:2rem; }
.gcp-mission[data-gcp-selection="build"] { --mission-color:var(--gcp-green); }
.gcp-mission[data-gcp-selection="ai"] { --mission-color:var(--gcp-amber); }
.gcp-mission-label { display:flex; justify-content:space-between; margin:0 0 .75rem; color:#93a9b9; font:500 .6rem/1.5 ui-monospace,monospace; letter-spacing:.14em; }
.gcp-mission-picker { display:none; }
[data-gcp-ready] .gcp-mission-picker { display:grid; grid-template-columns:1fr 1fr 1.25fr; gap:4px; }
.gcp-mission-picker button { display:flex; gap:.55rem; align-items:center; padding:.8rem .65rem; min-height:48px; min-width:0; background:#09121dd9; color:#a8baca; border:1px solid var(--gcp-line); border-radius:3px; cursor:pointer; font-size:.8rem; line-height:1.25; font-weight:600; font-family:inherit; transition:background var(--gcp-time),border-color var(--gcp-time),color var(--gcp-time); }
.gcp-mission-picker button span { color:#7894ab; font:500 .63rem ui-monospace,monospace; }
.gcp-mission-picker button i { margin-left:auto; font-style:normal; opacity:.55; }
.gcp-mission-picker button[aria-pressed="true"] { background:color-mix(in srgb,var(--mission-color) 12%,#07111a); border-color:var(--mission-color); color:var(--gcp-ink); }
.gcp-mission-picker button[aria-pressed="true"] span { color:var(--mission-color); }
.gcp-mission-picker button:hover { color:white; border-color:#b1cbd9; }
.gcp-mission-brief { padding:1rem 1.1rem; min-height:118px; border:1px solid var(--gcp-line); border-top:0; border-left:2px solid var(--mission-color); background:linear-gradient(115deg,#0d1823ed,#070e17bb); }
.gcp-flow-page #home-hero .gcp-mission-brief h2 { margin:0 0 .4rem; font-size:1rem; font-weight:550; color:#e3edf5; line-height:1.4; letter-spacing:-.02em; text-transform:none; }
.gcp-mission-brief p { margin:0; color:#a2b5c4; font-size:.8rem; line-height:1.6; }
.gcp-direct-routes { display:flex; flex-wrap:wrap; gap:1rem; margin-bottom:.75rem; }
[data-gcp-ready] .gcp-direct-routes { display:none; }
.gcp-flow-page #home-hero.infrastructure-hero .hero-actions { display:flex; align-items:center; gap:1.5rem; flex-wrap:wrap; margin-top:1.3rem; }
:is(.gcp-flow-page,.gcp-service-page) .btn-primary { color:#031018; background:var(--gcp-cyan); border:1px solid var(--gcp-cyan); border-radius:3px; box-shadow:none; text-shadow:none; }
:is(.gcp-flow-page,.gcp-service-page) .btn-primary:hover { background:#c0f5ff; border-color:#c0f5ff; box-shadow:0 0 24px #8deaff20; }
.gcp-flow-page #home-hero.infrastructure-hero .hero-actions .btn { min-height:48px; padding:.85rem 1rem; font-size:.8rem; }
.gcp-explore { color:#b3c5ce; font-size:.75rem; display:flex; gap:.7rem; align-items:center; min-height:44px; }
.gcp-explore:hover { color:var(--gcp-cyan); }
.gcp-flow-page #home-hero.infrastructure-hero .hero-headline > .gcp-hero-proof { display:flex; gap:.6rem; align-items:center; margin-top:1.25rem; font-size:.67rem; color:#809aa9; }
.gcp-flow-page #home-hero.infrastructure-hero .gcp-mission-label { font-size:.6rem; line-height:1.5; margin-bottom:.75rem; }
.gcp-flow-page #home-hero.infrastructure-hero .gcp-mission-brief p { font-size:.82rem; line-height:1.65; margin:0; }
.gcp-flow-page #home-hero.infrastructure-hero .hero-actions .btn-primary { background:var(--gcp-cyan); border-color:var(--gcp-cyan); color:#031018; }
.gcp-flow-page #home-hero.infrastructure-hero .hero-actions .btn-primary:hover { background:#c0f5ff; border-color:#c0f5ff; }
.gcp-hero-proof > span { color:var(--gcp-green); font-size:1rem; }
.gcp-hero-visual { align-self:stretch; min-height:31rem; pointer-events:none; }
.gcp-chapter-map { position:sticky; z-index:9; top:6rem; margin:0 auto 1rem; width:min(1280px,calc(100% - 5rem)); padding:.8rem 1rem .7rem; border:1px solid var(--gcp-line); border-radius:4px; background:#071019f5; }
.gcp-chapter-map__heading { display:flex; justify-content:space-between; gap:1rem; color:#738f9f; font:500 .54rem/1.5 ui-monospace,monospace; letter-spacing:.13em; margin-bottom:.6rem; }
.gcp-chapter-map__heading a { color:#c4d8e1; letter-spacing:0; }
.gcp-chapter-links { display:grid; grid-template-columns:repeat(9,minmax(0,1fr)); gap:.5rem; }
.gcp-chapter-links a { color:#a1b5c1; font-size:.75rem; min-height:44px; display:flex; align-items:center; gap:.5rem; border-top:1px solid #6d92aa38; transition:color var(--gcp-time),border-color var(--gcp-time); }
.gcp-chapter-links a span { font-family:ui-monospace,monospace; font-size:.55rem; color:#648196; }
.gcp-chapter-links a[aria-current="step"] { color:var(--gcp-cyan); border-color:var(--gcp-cyan); }
.gcp-chapter-links a[aria-current="step"] span { color:var(--gcp-cyan); }
.gcp-flow-page [data-journey-chapter] { scroll-margin-top:12rem; }
.gcp-flow-page .infrastructure-journey__copy { border-left:1px solid #8deaff38; padding:1.5rem 1.5rem 1.5rem 2rem; background:linear-gradient(100deg,#05101fe6,#050c14b3 65%,transparent); border-radius:3px; }
.gcp-flow-page .infrastructure-journey__copy h2 { font-size:clamp(2.4rem,3.5vw,3.8rem); line-height:1.06; letter-spacing:-.05em; }
.gcp-flow-page .infrastructure-journey__copy::before { top:0; left:0; right:auto; width:40%; background:linear-gradient(90deg,var(--gcp-cyan),transparent); }
.gcp-flow-page .infrastructure-journey__progress { left:auto; right:1.5rem; top:auto; bottom:1.5rem; width:9rem; transform:none!important; backdrop-filter:none; border-radius:3px; }
.gcp-flow-page .home-conclusion { position:relative; background:#050c14; border-top:1px solid #8deaff2b; }
.gcp-flow-page #outcomes { scroll-margin-top:6rem; }
.gcp-flow-page .bp-entry-grid article { border:1px solid var(--gcp-line); border-top:2px solid var(--gcp-blue); border-radius:4px; background:linear-gradient(150deg,#111e2c,#081018); transition:border-color var(--gcp-time),background var(--gcp-time); }
.gcp-flow-page .bp-entry-grid article:nth-child(2) { border-top-color:var(--gcp-green); }
.gcp-flow-page .bp-entry-grid article:nth-child(3) { border-top-color:var(--gcp-amber); }
.gcp-flow-page .bp-entry-grid article:hover,.gcp-flow-page .bp-entry-grid article:focus-within { border-color:var(--gcp-cyan); background:#102231; }
.gcp-flow-page .bp-entry-grid article h3 { color:#eff7fa; }
.gcp-flow-page .bp-entry-grid article p { color:#afc1ce; }
.gcp-flow-page .bp-entry-grid article a { color:var(--gcp-cyan); }
.gcp-flow-page .homepage-bottom-cta { border:1px solid #8deaff42; border-radius:4px; background:radial-gradient(ellipse at 100% 0,#153343,#08111c 70%); }
.gcp-flow-page .home-final-cta { background:#050c14; }
.gcp-service-page .hero { border-bottom:1px solid #8deaff21; }
.gcp-service-page .hero h1 { letter-spacing:-.045em; }
@media (min-width:1600px) { .gcp-flow-page #home-hero.infrastructure-hero > .container { width:min(1440px,calc(100% - 8rem)); } }
@media (max-width:1150px) and (min-width:901px) {
  .gcp-flow-page #home-hero.infrastructure-hero > .container { width:calc(100% - 3rem); gap:1.25rem; grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr); }
  .gcp-mission-picker button { font-size:.72rem; gap:.3rem; }
  .gcp-chapter-links a { flex-direction:column; align-items:flex-start; justify-content:center; gap:.1rem; }
  .gcp-flow-page #home-hero.infrastructure-hero .hero-actions { gap:.5rem 1rem; }
}
@media (max-width:900px), (pointer:coarse) and (max-width:1180px) {
  :is(.gcp-flow-page,.gcp-service-page) .header .navbar { min-height:4.3rem; padding-block:.7rem; }
  :is(.gcp-flow-page,.gcp-service-page) .logo a { min-width:158px; font-size:1rem; }
  .gcp-flow-page .topbar { padding:.5rem .85rem!important; font-size:.5rem!important; line-height:1.6; }
  .gcp-flow-page #home-hero.infrastructure-hero { padding-block:2.4rem 1.5rem; min-height:0; }
  .gcp-flow-page #home-hero.infrastructure-hero > .container { width:calc(100% - 2rem); display:grid; grid-template-columns:1fr; gap:1.8rem; min-height:0; }
  .gcp-flow-page #home-hero.infrastructure-hero h1 { font-size:clamp(2.5rem,10vw,4.4rem); letter-spacing:-.065em; margin:1rem 0 1.25rem; }
  .gcp-flow-page #home-hero.infrastructure-hero .hero-headline > .gcp-intro { font-size:.94rem; }
  .gcp-mission { margin-top:1.5rem; }
  .gcp-mission-picker button { font-size:.73rem; gap:.3rem; padding:.75rem .5rem; }
  .gcp-mission-picker button i { display:none; }
  .gcp-mission-brief { min-height:137px; padding:1rem; }
  .gcp-flow-page #home-hero.infrastructure-hero .hero-actions { gap:.5rem 1rem; }
  .gcp-flow-page #home-hero.infrastructure-hero .hero-actions .btn { width:100%; justify-content:space-between; display:flex; align-items:center; }
  .gcp-flow-page #home-hero.infrastructure-hero .hero-headline > .gcp-hero-proof { font-size:.6rem; }
  .gcp-hero-visual { min-height:19rem; margin:0; background:linear-gradient(0deg,#05101ba8,transparent 40%),url('/assets/images/infrastructure-rack-refined-320.webp') center 42% / auto 105% no-repeat; }
  .gcp-flow-page .infrastructure-journey__fallback img { opacity:.1; }
  .gcp-chapter-map { position:relative; top:auto; width:calc(100% - 2rem); padding:.85rem; margin:0 auto 1.5rem; }
  .gcp-chapter-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.2rem .65rem; }
  .gcp-chapter-map__heading { font-size:.49rem; }
  .gcp-chapter-links a { font-size:.7rem; gap:.35rem; }
  .gcp-flow-page .infrastructure-journey__story { padding-inline:1rem; }
  .gcp-flow-page .infrastructure-journey__chapter { padding:1.1rem 0; border:0; }
  .gcp-flow-page .infrastructure-journey__copy { padding:1.5rem 1rem; background:linear-gradient(115deg,#0d1b29,#060d15); border:1px solid var(--gcp-line); }
  .gcp-flow-page .infrastructure-journey__copy h2 { max-width:17ch; font-size:clamp(1.8rem,7vw,2.7rem); line-height:1.13; }
  .gcp-flow-page .infrastructure-journey__copy > p:not(.infrastructure-journey__eyebrow) { font-size:.9rem; }
  .gcp-flow-page .infrastructure-journey__progress { display:none; }
  .gcp-flow-page [data-journey-chapter] { scroll-margin-top:5rem; }
}
@media (prefers-reduced-motion:reduce) {
  :is(.gcp-flow-page,.gcp-service-page) *, :is(.gcp-flow-page,.gcp-service-page) *::before, :is(.gcp-flow-page,.gcp-service-page) *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
  .gcp-flow-page .gcp-chapter-map { position:relative; top:auto; }
}
