/*
 * Identity layer for PageSpeed Rescue.
 * Isolated to this replica; commercial copy and layout remain unchanged.
 */
:root {
  --navy:#201638; --navy-2:#302052; --navy-3:#432C70;
  --ink:#281D3D; --paper:#F7F5FB; --muted:#716783; --line:#DED8E8;
  --blue:#7046D9; --blue-bright:#8B63E8; --cyan:#30BFC4;
  --amber:#F2C94C; --danger:#E26758;
  --soft-blue:#EEE8FC; --soft-cyan:#E5F7F7;
  --radius:16px;
  --sans:'Sora', sans-serif; --serif:'Sora', sans-serif;
  --shadow:0 28px 80px color-mix(in srgb, var(--navy) 18%, transparent);
}
body {font-family:var(--sans);}
h1,h2,.service-grid h3,.protocol-list h3,.specialist-card h3,.article-content>p,
.article-content>ul li,.article-content>ol li,.brand strong,.big-copy {font-family:var(--serif);}
.brand strong {font-family:var(--sans);font-weight:800;}
.brand-symbol {background:var(--navy);border-radius:var(--radius);color:#fff;}
.brand-symbol svg {width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round;}
.site-header {background:color-mix(in srgb, var(--paper) 92%, transparent);}
.hero,.page-hero,.article-head {
  background:linear-gradient(122deg,color-mix(in srgb,var(--paper) 94%,#fff),color-mix(in srgb,var(--soft-blue) 68%,var(--paper)));
}
.hero:before {background-image:linear-gradient(color-mix(in srgb,var(--blue) 7%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--blue) 7%,transparent) 1px,transparent 1px);}
.hero:after,.page-hero:after,.article-head:after {border-color:color-mix(in srgb,var(--blue) 18%,transparent);}
.button-primary {box-shadow:0 14px 34px color-mix(in srgb,var(--blue) 28%,transparent);}
.button-primary:hover {background:var(--blue-bright);}
.header-cta-visible {background:var(--amber);border-color:color-mix(in srgb,var(--amber) 75%,var(--navy));color:var(--navy);box-shadow:0 10px 28px color-mix(in srgb,var(--amber) 28%,transparent);}
.header-cta-visible:hover {background:color-mix(in srgb,var(--amber) 82%,#fff);}
.evidence {background:color-mix(in srgb,var(--paper) 78%,var(--line));}
.faq {background:color-mix(in srgb,var(--paper) 92%,var(--line));}
.site-footer {background:color-mix(in srgb,var(--navy) 88%,#000);}
.footer-brand .brand-symbol {background:#fff;color:var(--navy);}
.specialist-card,.closing,.mobile-emergency,.trust-rail {background:var(--blue);}
.incident-console,.protocol {background:var(--navy);}
.service-grid>a,.post-grid article,.seo-check-grid article,.guide-hub-grid a {border-radius:calc(var(--radius) * .55);}
@media(max-width:600px) {
  .brand>span:last-child {max-width:190px;}
  .brand strong {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
}


/* Sans-only hierarchy: identity is built with weight, scale and spacing. */
body {font-family:var(--sans);font-weight:400;}
h1,h2,h3,.big-copy,.article-content>p,.article-content>ul li,.article-content>ol li,
.service-grid h3,.protocol-list h3,.specialist-card h3 {
  font-family:var(--sans);
  font-style:normal;
}
h1 {font-weight:700;letter-spacing:-.062em;}
h2 {font-weight:700;letter-spacing:-.048em;}
h3,.service-grid h3,.protocol-list h3,.specialist-card h3 {font-weight:650;letter-spacing:-.035em;}
h1 em,h2 em,.hero h1 em,.blog-hero h1 em {
  font-family:var(--sans);
  font-weight:500;
  font-style:italic;
  letter-spacing:-.045em;
}
.big-copy,.article-content>p,.article-content>ul li,.article-content>ol li {
  font-weight:450;
  letter-spacing:-.018em;
}
.kicker,.button,.brand strong,.site-header nav a {font-family:var(--sans);font-weight:800;}

/* Layout differentiation v1 — 2026-07-27 */
@media (min-width: 901px) {
  .hero{padding-block:38px 52px}.hero-grid{grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr);gap:36px}
  .hero-copy{display:grid;grid-template-columns:1fr auto;column-gap:28px}
  .hero-copy>.status-badge,.hero-copy>.kicker,.hero-copy>h1,.hero-copy>.hero-lead,.hero-founder,.proof-row{grid-column:1/-1}
  .hero-actions{grid-column:1/-1}
  .incident-console{box-shadow:12px 12px 0 color-mix(in srgb,var(--blue) 22%,transparent);border-radius:4px}
  .trust-rail .wrap{max-width:1180px}
  .split-heading{grid-template-columns:1.35fr .65fr;gap:6vw}
  .service-grid{border:0;gap:12px}
  .service-grid>a{min-height:350px;border:1px solid var(--line);padding:24px}
  .service-mark{margin:28px 0 22px;border-radius:8px}
  .protocol-grid{grid-template-columns:.62fr 1.38fr;gap:65px}
  .protocol-list li{grid-template-columns:48px 1fr;padding:24px 0}
  .faq-grid{grid-template-columns:.58fr 1.42fr}
}
.section{padding-block:92px}.closing{padding-block:66px}
/* Console identity: performance monitor */
.incident-console{background:color-mix(in srgb,var(--paper) 93%,#fff);color:var(--navy);border:1px solid color-mix(in srgb,var(--blue) 28%,var(--line));box-shadow:12px 12px 0 color-mix(in srgb,var(--blue) 18%,transparent)}
.incident-console:before{background-image:linear-gradient(90deg,color-mix(in srgb,var(--blue) 7%,transparent) 1px,transparent 1px);background-size:25% 100%}
.console-head{color:var(--muted);border-bottom:1px solid var(--line)}
.console-head b{color:var(--blue)}.console-head i{background:var(--cyan)}
.console-label{color:var(--navy);font-weight:700}
.console-body>a{grid-template-columns:46px 1fr 42px;border-top:1px solid var(--line)}
.console-body>a>b{font-size:.75rem;color:var(--blue);border:1px solid var(--line);border-radius:999px;padding:7px;text-align:center}
.console-body small{color:var(--muted)}.console-icon{border:0;border-radius:50%;background:var(--soft-blue);color:var(--blue)}
.console-foot{color:var(--muted);border-top:1px solid var(--line);background:#fff}
/* Header/footer identity: compact performance shell */
@media (min-width:901px){
  .confidence-bar .wrap{justify-content:space-between}.confidence-bar span{font-size:.62rem;letter-spacing:.05em}
  .site-header{box-shadow:none;border-bottom:1px solid color-mix(in srgb,var(--blue) 20%,var(--line))}
  .header-inner{min-height:70px}.site-header nav ul{gap:22px}.header-action{gap:8px}
  .footer-lead{grid-template-columns:1fr 1fr;padding-bottom:46px}
  .footer-grid{grid-template-columns:1.1fr .95fr .95fr;gap:35px;padding-top:38px}
}
.site-footer{padding-top:58px;background:linear-gradient(135deg,var(--navy),color-mix(in srgb,var(--navy) 76%,var(--blue)))}
.footer-bottom{margin-top:32px}
@media (max-width: 900px) {
  .closing-grid{display:grid;grid-template-columns:1fr;text-align:left}
  .closing-grid>div:last-child{width:100%}
}
