/* JGRobo Marketing, Inc. - owner-authorized final media and layout correction pass v1.1. */

/* Global Orb: viewport-safe flex architecture with persistent controls and metadata. */
.jgr-orb-dialog {
  width:min(880px,calc(100vw - 32px));
  max-width:880px;
  max-height:calc(100vh - 32px);
  max-height:calc(100dvh - 32px);
  overflow:hidden;
}
.jgr-orb-panel {
  display:flex;
  flex-direction:column;
  width:100%;
  height:min(900px,calc(100vh - 32px));
  height:min(900px,calc(100dvh - 32px));
  max-height:calc(100vh - 32px);
  max-height:calc(100dvh - 32px);
  overflow:hidden;
}
.jgr-orb-head,.jgr-orb-meta { flex:0 0 auto; }
.jgr-orb-embed {
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
}
.jgr-orb-embed iframe { width:100%; height:100%; min-height:0; }

/* Global footer: one identity, balanced columns, compact normal-flow finish. */
.jgr-b3-footer { padding:58px 0 18px; }
.jgr-b3-footer-top {
  grid-template-columns:minmax(245px,1.35fr) minmax(160px,.9fr) minmax(250px,1.05fr) minmax(230px,1.05fr);
  gap:clamp(30px,3.7vw,50px);
  align-items:start;
  padding-bottom:38px;
}
.jgr-b3-footer-identity { display:flex; flex-direction:column; align-items:flex-start; }
.jgr-b3-footer-identity .jgr-footer-brand { margin-bottom:21px; }
.jgr-b3-address {
  display:block;
  margin:0;
  color:#a7bdca;
  font-size:13px;
  font-style:normal;
  line-height:1.65;
}
.jgr-b3-address strong { display:inline; margin:0; color:#fff; }
.jgr-footer-consultation {
  width:max-content;
  min-width:238px;
  max-width:100%;
  padding-inline:17px;
  white-space:nowrap;
}
.jgr-b3-footer-bottom { padding-top:19px; }

/* Shared surgical CTA family for the two implementation service pages. */
.c1-final-pass-cta .c1-cta-inner {
  grid-template-columns:minmax(0,1fr) minmax(360px,430px);
  gap:clamp(52px,7vw,92px);
  align-items:center;
}
.c1-final-pass-copy { min-width:0; }
.c1-final-pass-copy h2 { max-width:690px; line-height:1.04; }
.c1-final-actions-panel {
  display:grid;
  gap:12px;
  padding:25px;
  border:1px solid rgba(122,220,255,.3);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(12,55,88,.86),rgba(5,30,49,.78));
  box-shadow:0 20px 48px rgba(0,0,0,.16);
}
.c1-final-actions-panel .jgr-btn,
.c1-final-phone-action {
  width:100%;
  min-height:54px;
  justify-content:center;
  text-align:center;
}
.c1-final-phone-action {
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:10px 16px;
  border:1px solid rgba(122,220,255,.27);
  border-radius:12px;
  color:#fff;
  background:rgba(2,20,35,.48);
  text-decoration:none;
}
.c1-final-phone-action small { color:#79e7fb; font-size:.63rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.c1-final-phone-action strong { margin-top:3px; font-size:1rem; }
.c1-final-phone-action:focus-visible { outline:3px solid #fff; outline-offset:3px; }

/* Homepage media, spacing, technology, experience selector, and closing CTA. */
body.page-id-5 .jgr-corp-hero { min-height:0; padding-bottom:70px; }
body.page-id-5 .jgr-corp-hero .jgr-hero-grid { align-items:center; }
body.page-id-5 .jgr-b3-section-head { grid-template-columns:minmax(0,1.55fr) minmax(310px,.45fr); gap:clamp(38px,5vw,70px); }
body.page-id-5 #jgr-tech-title { max-width:none; font-size:clamp(38px,3.6vw,50px); }
body.page-id-5 .jgr-b3-experience-head { grid-template-columns:1fr; gap:17px; align-items:start; }
body.page-id-5 .jgr-b3-experience-head h2 { max-width:none; font-size:clamp(42px,4.6vw,58px); }
body.page-id-5 .jgr-b3-experience-head>p { max-width:760px; }
body.page-id-5 .jgr-b3-demo-rail { grid-template-columns:repeat(2,minmax(0,1fr)); }
body.page-id-5 .jgr-b3-demo-path:nth-child(2) { border-right:0; }
body.page-id-5 .jgr-b3-final-inner { grid-template-columns:minmax(0,1fr) minmax(330px,430px); gap:clamp(52px,7vw,94px); }
body.page-id-5 .jgr-b3-final-copy h2 { max-width:720px; }

/* AI Voice Agents: separate the connected-operation heading and supporting copy. */
body.page-id-58 #capabilities .c1-section-head {
  grid-template-columns:minmax(500px,.92fr) minmax(0,1.08fr);
  gap:clamp(56px,7vw,96px);
  align-items:end;
}
body.page-id-58 #capabilities .c1-section-head>p { max-width:590px; justify-self:end; }
body.page-id-58 #voice-capabilities { white-space:nowrap; }

/* Custom Development: make the approved local ServiceTitan mark visible on a dark brand panel. */
body.page-id-62 .c1-platform-servicetitan .c1-platform-logo {
  border:1px solid #173f5d;
  border-radius:14px;
  background:linear-gradient(145deg,#0b2740,#123f62);
  box-shadow:inset 0 1px rgba(255,255,255,.06);
}
body.page-id-62 .c1-platform-servicetitan .c1-platform-logo img { width:min(190px,78%); height:auto; object-fit:contain; }

/* Solutions: compact hero, explicit Action2Call composition, and collision-free closing CTA. */
body.page-id-108 .c2-hero { min-height:0; padding-bottom:72px; }
body.page-id-108 .c2-hero .jgr-actions { display:flex; flex-wrap:wrap; gap:16px; }
body.page-id-108 .c2-a2c-grid { grid-template-columns:minmax(0,.78fr) minmax(560px,1.22fr); gap:clamp(48px,6vw,78px); }
body.page-id-108 #a2c-title { max-width:560px; }
body.page-id-108 .c2-a2c-actions { gap:16px; }
body.page-id-108 .c2-final-grid { grid-template-columns:minmax(0,1fr) minmax(300px,390px); gap:clamp(56px,7vw,94px); align-items:center; }
body.page-id-108 .c2-final-grid>div:first-child { min-width:0; }
body.page-id-108 #solutions-final-title { max-width:700px; }
body.page-id-108 .c2-final-actions { min-width:0; }

/* About: deliberate heading/copy gutters, visible portrait placeholder, and balanced flagship CTA. */
body.page-id-110 .c2-capability .c2-section-head {
  grid-template-columns:minmax(520px,.96fr) minmax(0,1.04fr);
  gap:clamp(56px,7vw,96px);
  align-items:end;
}
body.page-id-110 .c2-capability .c2-section-head>p { max-width:570px; justify-self:end; }
body.page-id-110 .c2-portrait-frame small { color:#e6f8ff; font-size:.82rem; font-weight:800; letter-spacing:.04em; }
body.page-id-110 .c2-a2c-grid { grid-template-columns:minmax(0,1fr) minmax(280px,360px); gap:clamp(56px,7vw,96px); align-items:center; }
body.page-id-110 .c2-a2c-grid>div:first-child { max-width:760px; }
body.page-id-110 .c2-a2c-action { min-width:0; }

/* Contact: keep the AI-first heading and its two-action group in separate columns. */
body.page-id-49 .jgc-alt-grid {
  grid-template-columns:minmax(0,1fr) minmax(320px,380px);
  gap:clamp(56px,7vw,96px);
  align-items:center;
}
body.page-id-49 .jgc-alt-grid>div:first-child { min-width:0; }
body.page-id-49 #jgc-alt-title { max-width:690px; }
body.page-id-49 .jgc-alt-actions { width:100%; min-width:0; }

.jgr-final-desktop-break { display:block; }

@media (min-width:1025px) {
  body.page-id-5 #jgr-tech-title,
  body.page-id-5 #jgr-experience-title { white-space:nowrap; }
}

@media (max-width:1024px) {
  .jgr-b3-footer-top { grid-template-columns:minmax(0,1.2fr) minmax(150px,.8fr) minmax(220px,1fr); }
  .jgr-b3-footer-demo { grid-column:1/-1; }
  .c1-final-pass-cta .c1-cta-inner,
  body.page-id-58 #capabilities .c1-section-head,
  body.page-id-108 .c2-a2c-grid,
  body.page-id-108 .c2-final-grid,
  body.page-id-110 .c2-capability .c2-section-head,
  body.page-id-110 .c2-a2c-grid,
  body.page-id-49 .jgc-alt-grid { grid-template-columns:1fr; gap:34px; }
  .c1-final-actions-panel { max-width:520px; }
  body.page-id-58 #capabilities .c1-section-head>p,
  body.page-id-110 .c2-capability .c2-section-head>p { max-width:720px; justify-self:start; }
  body.page-id-58 #voice-capabilities { white-space:normal; }
  body.page-id-5 .jgr-b3-section-head { grid-template-columns:1fr; gap:20px; }
}

@media (max-width:720px) {
  .jgr-orb-dialog { width:calc(100vw - 24px); max-width:420px; max-height:calc(100vh - 24px); max-height:calc(100dvh - 24px); }
  .jgr-orb-panel { height:calc(100vh - 24px); height:calc(100dvh - 24px); max-height:calc(100vh - 24px); max-height:calc(100dvh - 24px); }
  .jgr-orb-head { padding:11px 52px 10px 14px; }
  .jgr-orb-head h2 { font-size:clamp(1.05rem,5vw,1.32rem); }
  .jgr-orb-embed { min-height:0; }
  .jgr-orb-meta { display:grid; grid-template-columns:1fr; gap:5px; padding:8px 12px 10px; }
  .jgr-orb-meta p,.jgr-orb-fallback { font-size:.65rem; line-height:1.32; text-align:left; }
  .jgr-b3-footer { padding:48px 0 16px; }
  .jgr-b3-footer-top { grid-template-columns:1fr; gap:32px; padding-bottom:32px; }
  .jgr-b3-footer-demo { grid-column:auto; }
  .jgr-footer-consultation { width:100%; min-width:0; }
  .c1-final-actions-panel { max-width:none; padding:21px; }
  .jgr-final-desktop-break { display:none; }
  body.page-id-5 .jgr-corp-hero { padding-bottom:58px; }
  body.page-id-5 .jgr-b3-demo-rail { grid-template-columns:1fr; }
  body.page-id-5 .jgr-b3-demo-path { border-right:0; }
  body.page-id-5 .jgr-b3-demo-path:first-child { border-bottom:1px solid rgba(105,214,255,.17); }
  body.page-id-5 .jgr-b3-experience-head h2 { font-size:clamp(2.2rem,9vw,3rem); }
  body.page-id-108 .c2-hero { padding-bottom:58px; }
}

@media (max-width:390px) {
  .jgr-orb-dialog { width:calc(100vw - 20px); max-height:calc(100vh - 20px); max-height:calc(100dvh - 20px); }
  .jgr-orb-panel { height:calc(100vh - 20px); height:calc(100dvh - 20px); max-height:calc(100vh - 20px); max-height:calc(100dvh - 20px); }
  .jgr-orb-head { padding-right:48px; }
  .jgr-orb-close { right:9px; }
  .c1-final-actions-panel { padding:18px; }
}

@media (prefers-reduced-motion:reduce) {
  .c1-final-actions-panel *,
  .jgr-orb-dialog * { transition:none !important; }
}
