:root {
  --navy: #082d73;
  --navy-deep: #061f54;
  --blue: #1aa7e8;
  --cyan: #55d9ff;
  --pink: #ff35c8;
  --gold: #d89941;
  --ink: #071c3d;
  --muted: #58708f;
  --line: #d7e7f5;
  --paper: #ffffff;
  --ice: #f2fbff;
  --soft: #f7fbff;
  --shadow: 0 24px 70px rgba(8,45,115,.12);
  --radius: 28px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color:var(--ink); background:var(--paper); }
a { color:inherit; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.site-header { min-height:132px; display:flex; align-items:center; justify-content:space-between; gap:32px; padding:28px clamp(22px, 7vw, 92px); background:rgba(255,255,255,.9); backdrop-filter: blur(16px); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:50; }
.brand { display:inline-flex; align-items:center; text-decoration:none; }
.brand img { width:min(260px, 44vw); height:auto; display:block; filter: drop-shadow(0 9px 18px rgba(8,45,115,.12)); }
.site-nav { display:flex; align-items:center; gap:clamp(18px, 3vw, 44px); font-weight:800; color:var(--navy-deep); }
.site-nav a { text-decoration:none; white-space:nowrap; }
.site-nav a:hover { color:var(--pink); }
.nav-pill { padding:15px 24px; border-radius:999px; background:var(--navy); color:white !important; box-shadow:0 16px 30px rgba(8,45,115,.18); }
.nav-pill-alt { background:linear-gradient(135deg, var(--pink), var(--blue)); }
.nav-toggle { display:none; border:0; background:white; padding:12px; border-radius:16px; box-shadow:var(--shadow); }
.nav-toggle span:not(.sr-only) { display:block; width:24px; height:3px; margin:4px 0; background:var(--navy); border-radius:3px; }
.section-pad { padding:clamp(60px, 8vw, 120px) clamp(22px, 7vw, 92px); }
.hero { background: radial-gradient(circle at 0% 16%, rgba(85,217,255,.26), transparent 32%), linear-gradient(180deg, #fff 0%, #f7fcff 100%); position:relative; overflow:hidden; }
.hero:after { content:""; position:absolute; inset:auto 0 0 0; height:260px; background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px); background-size:80px 80px; opacity:.55; mask-image:linear-gradient(to top, #000, transparent); pointer-events:none; }
.hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0, 1.08fr) minmax(320px, .92fr); gap:clamp(34px, 6vw, 82px); align-items:center; }
.eyebrow { margin:0 0 14px; color:var(--pink); font-weight:900; text-transform:uppercase; letter-spacing:.12em; font-size:.8rem; }
h1,h2,h3,p { margin-top:0; }
h1 { font-size:clamp(3rem, 7vw, 6.8rem); line-height:.9; letter-spacing:-.07em; color:var(--navy-deep); margin-bottom:26px; max-width:980px; }
h2 { font-size:clamp(2.1rem, 4.2vw, 4.4rem); line-height:1; letter-spacing:-.045em; color:var(--navy-deep); margin-bottom:20px; }
h3 { font-size:1.45rem; margin-bottom:12px; color:var(--navy-deep); }
.lead { font-size:clamp(1.16rem, 1.55vw, 1.45rem); line-height:1.58; color:var(--muted); max-width:760px; }
.hero-actions { display:flex; gap:16px; flex-wrap:wrap; margin-top:34px; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:54px; border:0; border-radius:999px; padding:15px 24px; font-weight:900; text-decoration:none; cursor:pointer; font-size:1rem; }
.button.primary { color:white; background:linear-gradient(135deg, var(--navy), var(--blue)); box-shadow:0 18px 42px rgba(8,45,115,.22); }
.button.secondary { color:var(--navy); background:white; border:1px solid var(--line); box-shadow:0 14px 34px rgba(8,45,115,.09); }
.hero-panel { min-height:430px; border:1px solid rgba(26,167,232,.22); border-radius:var(--radius); padding:34px; background:linear-gradient(145deg, rgba(255,255,255,.88), rgba(242,251,255,.82)); box-shadow:var(--shadow); position:relative; overflow:hidden; }
.orb { position:absolute; border-radius:50%; filter:blur(4px); opacity:.9; }
.orb-one { width:220px; height:220px; background:radial-gradient(circle, rgba(85,217,255,.45), transparent 70%); right:-80px; top:-70px; }
.orb-two { width:170px; height:170px; background:radial-gradient(circle, rgba(255,53,200,.26), transparent 70%); left:-60px; bottom:-40px; }
.signal-list { display:grid; gap:14px; margin-top:30px; position:relative; z-index:1; }
.signal-list span { display:block; padding:18px 20px; border:1px solid var(--line); border-radius:20px; background:white; font-weight:800; color:var(--navy); }
.proof-strip { display:flex; flex-wrap:wrap; justify-content:center; gap:14px; padding:22px clamp(22px,7vw,92px); background:var(--navy-deep); color:white; }
.proof-strip p { margin:0; padding:8px 14px; color:#dff7ff; font-weight:800; }
.section-heading { max-width:980px; margin-bottom:42px; }
.section-heading p:not(.eyebrow) { color:var(--muted); font-size:1.16rem; line-height:1.62; max-width:860px; }
.section-heading.compact { margin-bottom:24px; }
.alt { background:linear-gradient(180deg, var(--soft), var(--ice)); border-block:1px solid var(--line); }
.card-grid { display:grid; gap:24px; }
.card-grid.three { grid-template-columns:repeat(3, minmax(0, 1fr)); }
.service-card, .large-card, .price-card, .rfq-form, .tidycal-shell { border:1px solid var(--line); border-radius:var(--radius); padding:30px; background:white; box-shadow:0 18px 48px rgba(8,45,115,.08); }
.service-card { position:relative; overflow:hidden; }
.service-card:before { content:""; position:absolute; inset:0 0 auto; height:8px; background:var(--blue); }
.service-card.accent-pink:before { background:var(--pink); }
.service-card.accent-gold:before { background:var(--gold); }
.service-card p, .large-card p, .price-card p { color:var(--muted); line-height:1.58; }
ul { padding-left:20px; margin:20px 0 0; color:var(--ink); line-height:1.8; }
.text-link { display:inline-block; margin-top:22px; color:var(--navy); font-weight:900; text-decoration:underline; text-decoration-color:var(--pink); text-decoration-thickness:3px; text-underline-offset:5px; }
.feature-list { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:18px; }
.feature-list div { padding:22px; background:white; border:1px solid var(--line); border-radius:22px; }
.feature-list strong { display:block; color:var(--navy); margin-bottom:6px; }
.feature-list span { color:var(--muted); line-height:1.5; }

.software-section {
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 12%, rgba(85,217,255,.22), transparent 33%),
    radial-gradient(circle at 5% 75%, rgba(255,53,200,.08), transparent 28%),
    linear-gradient(180deg, var(--soft), var(--ice));
}

.software-intro {
  display:grid;
  grid-template-columns:minmax(0, .96fr) minmax(360px, .86fr);
  gap:clamp(28px, 5vw, 76px);
  align-items:center;
  margin-bottom:44px;
}

.software-intro .section-heading {
  margin-bottom:0;
}

.software-hero-visual {
  margin:0;
  position:relative;
  min-height:300px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.software-hero-visual:before {
  content:"";
  position:absolute;
  width:72%;
  height:58%;
  border-radius:999px;
  background:radial-gradient(circle, rgba(85,217,255,.28), transparent 70%);
  filter:blur(18px);
  transform:translateY(18%);
}

.software-hero-visual img {
  position:relative;
  z-index:1;
  display:block;
  width:min(100%, 760px);
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 28px 36px rgba(8,45,115,.12));
}

.visual-feature-list {
  gap:22px;
}

.feature-list .visual-feature-card {
  min-height:156px;
  display:grid;
  grid-template-columns:190px minmax(0, 1fr);
  align-items:center;
  gap:22px;
  padding:22px 26px;
  background:rgba(255,255,255,.92);
  box-shadow:0 18px 44px rgba(8,45,115,.08);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.feature-list .visual-feature-card:hover {
  transform:translateY(-3px);
  border-color:rgba(26,167,232,.38);
  box-shadow:0 22px 56px rgba(8,45,115,.12);
}

.visual-feature-card img {
  width:100%;
  height:112px;
  object-fit:contain;
  object-position:center;
  display:block;
  filter:drop-shadow(0 14px 20px rgba(8,45,115,.10));
}

.business-layout { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:24px; }
.chip-row { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.chip-row span { background:var(--ice); color:var(--navy); font-weight:800; border-radius:999px; padding:9px 12px; border:1px solid var(--line); }
.booking-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:24px; margin-bottom:28px; }
.price-card.featured { border-color:rgba(255,53,200,.35); transform:translateY(-8px); }
.price-label { color:var(--pink) !important; font-weight:900; text-transform:uppercase; letter-spacing:.08em; font-size:.8rem; }
.price { font-size:2.2rem; font-weight:950; color:var(--navy-deep) !important; margin-bottom:16px; }
.price span { font-size:1rem; color:var(--muted); }
.tidycal-shell { display:grid; grid-template-columns:320px 1fr; gap:26px; align-items:start; }
.tidycal-copy code { background:var(--ice); border:1px solid var(--line); border-radius:8px; padding:2px 6px; color:var(--navy); }
.clients { background:white; }
.logo-cloud { display:flex; flex-wrap:wrap; gap:12px; }
.logo-cloud span { padding:12px 16px; border:1px solid var(--line); border-radius:999px; color:var(--navy); background:linear-gradient(180deg,#fff,var(--soft)); font-weight:800; }
.rfq { background:radial-gradient(circle at right top, rgba(255,53,200,.13), transparent 38%), radial-gradient(circle at left bottom, rgba(85,217,255,.20), transparent 36%), #fff; }
.rfq-grid { display:grid; grid-template-columns:minmax(280px, .78fr) minmax(320px, 1.22fr); gap:clamp(30px, 6vw, 80px); align-items:start; }
.contact-note { margin-top:26px; padding:22px; background:var(--navy-deep); color:#e9f8ff; border-radius:22px; line-height:1.7; }
.rfq-form { display:grid; gap:16px; }
.form-row.two { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:16px; }
label { display:grid; gap:7px; color:var(--navy-deep); font-weight:850; }
input, textarea, select { width:100%; border:1px solid #bed4e8; border-radius:16px; padding:14px 15px; color:var(--ink); font:inherit; background:#fff; }
textarea { resize:vertical; }
input:focus, textarea:focus, select:focus { outline:3px solid rgba(85,217,255,.35); border-color:var(--blue); }
.consent { display:flex; gap:10px; align-items:flex-start; font-weight:700; color:var(--muted); }
.consent input { width:auto; margin-top:4px; }
.site-footer { text-align:center; padding:54px 22px; background:var(--navy-deep); color:#d8ecff; }
.site-footer img { width:180px; background:white; border-radius:16px; padding:10px; margin-bottom:18px; }
.site-footer a { color:white; font-weight:900; }
.site-footer .small { opacity:.72; }
@media (max-width: 980px) {
  .site-header { min-height:auto; padding:18px 22px; }
  .nav-toggle { display:block; }
  .site-nav { position:absolute; left:22px; right:22px; top:calc(100% + 10px); display:none; flex-direction:column; align-items:stretch; padding:20px; background:white; border:1px solid var(--line); border-radius:22px; box-shadow:var(--shadow); }
  .site-nav.open { display:flex; }
  .site-nav a { padding:10px 8px; }
  .nav-pill { text-align:center; }
  .hero-grid, .software-intro, .service-hero-grid, .service-content-wrap, .rfq-grid, .tidycal-shell, .footer-grid { grid-template-columns:1fr; }
  .software-hero-visual { min-height:220px; }
  .card-grid.three, .feature-list, .business-layout, .booking-grid, .mini-service-grid { grid-template-columns:1fr; }
  .price-card.featured { transform:none; }
}
@media (max-width: 620px) {
  h1 { font-size:3.1rem; }
  .brand img { width:190px; }
  .form-row.two { grid-template-columns:1fr; }
  .feature-list .visual-feature-card { grid-template-columns:1fr; text-align:left; }
  .visual-feature-card img { height:145px; object-position:left center; }
  .content-image-mosaic, .process-strip { grid-template-columns:1fr; }
  .content-image-mosaic .mosaic-large { grid-row:auto; min-height:240px; }
  .service-hero-art { min-height:260px; }
  .sticky-cta-card { position:static; }
  .hero-panel { min-height:0; }
}


/* Clickable visual service cards */
.visual-feature-card {
  text-decoration:none;
  color:inherit;
}

.visual-feature-card em {
  display:inline-flex;
  align-items:center;
  margin-top:12px;
  color:var(--pink);
  font-style:normal;
  font-weight:900;
  font-size:.9rem;
  letter-spacing:.01em;
}

.visual-feature-card em:after {
  content:"→";
  margin-left:8px;
  transition:transform .2s ease;
}

.visual-feature-card:hover em:after {
  transform:translateX(4px);
}

/* Premium service sub-pages */
.service-page-hero {
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 90% 12%, rgba(85,217,255,.28), transparent 34%),
    radial-gradient(circle at 8% 82%, rgba(255,53,200,.10), transparent 30%),
    linear-gradient(180deg, #fff 0%, var(--ice) 100%);
  border-bottom:1px solid var(--line);
}

.service-page-hero:after {
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:240px;
  background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size:78px 78px;
  opacity:.35;
  mask-image:linear-gradient(to top, #000, transparent);
  pointer-events:none;
}

.service-hero-grid {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0, 1.03fr) minmax(320px, .72fr);
  gap:clamp(34px, 6vw, 88px);
  align-items:center;
}

.service-hero-copy h1 {
  max-width:1000px;
}

.service-hero-art {
  margin:0;
  min-height:420px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(26,167,232,.24);
  border-radius:36px;
  background:
    radial-gradient(circle at 50% 50%, rgba(85,217,255,.18), transparent 62%),
    rgba(255,255,255,.72);
  box-shadow:var(--shadow);
  overflow:hidden;
  position:relative;
}

.service-hero-art:before {
  content:"";
  position:absolute;
  width:88%;
  height:88%;
  border-radius:50%;
  border:1px dashed rgba(26,167,232,.35);
}

.service-hero-art img {
  position:relative;
  z-index:1;
  display:block;
  width:min(86%, 440px);
  height:auto;
  filter:drop-shadow(0 28px 34px rgba(8,45,115,.14));
}

.service-content-wrap {
  display:grid;
  grid-template-columns:minmax(0, 1fr) 360px;
  gap:clamp(28px, 5vw, 76px);
  align-items:start;
  background:#fff;
}

.service-main-copy {
  border:1px solid var(--line);
  border-radius:36px;
  padding:clamp(28px, 4vw, 54px);
  background:linear-gradient(180deg, #fff, var(--soft));
  box-shadow:0 20px 60px rgba(8,45,115,.08);
}

.service-main-copy p {
  color:var(--muted);
  line-height:1.68;
  font-size:1.08rem;
}

.content-image-mosaic {
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:18px;
  margin:34px 0;
}

.content-image-mosaic > div {
  min-height:180px;
  border:1px solid var(--line);
  border-radius:26px;
  background:white;
  box-shadow:0 14px 36px rgba(8,45,115,.07);
  overflow:hidden;
}

.content-image-mosaic img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  padding:18px;
}

.content-image-mosaic .mosaic-large {
  grid-row:span 2;
  min-height:380px;
  background:radial-gradient(circle at 50% 50%, rgba(85,217,255,.13), transparent 70%), #fff;
}

.mosaic-panel {
  display:flex;
  align-items:center;
  padding:28px;
  color:var(--navy);
  font-weight:900;
  line-height:1.45;
  background:linear-gradient(135deg, rgba(8,45,115,.05), rgba(85,217,255,.10)) !important;
}

.premium-list {
  display:grid;
  gap:12px;
  padding:0;
  margin:28px 0;
  list-style:none;
}

.premium-list li {
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:18px;
  background:white;
  color:var(--navy-deep);
  font-weight:850;
}

.process-strip {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
  margin-top:32px;
}

.process-strip div {
  border-radius:20px;
  padding:18px;
  background:var(--navy-deep);
  color:white;
}

.process-strip strong {
  display:block;
  color:var(--cyan);
  font-size:1.6rem;
  line-height:1;
}

.process-strip span {
  display:block;
  margin-top:7px;
  font-weight:900;
}

.service-side-cta {
  position:relative;
}

.sticky-cta-card {
  position:sticky;
  top:170px;
  border:1px solid rgba(255,53,200,.24);
  border-radius:32px;
  padding:28px;
  background:
    radial-gradient(circle at right top, rgba(255,53,200,.13), transparent 42%),
    radial-gradient(circle at left bottom, rgba(85,217,255,.18), transparent 42%),
    #fff;
  box-shadow:var(--shadow);
}

.sticky-cta-card h2 {
  font-size:2rem;
  letter-spacing:-.035em;
}

.sticky-cta-card p {
  color:var(--muted);
  line-height:1.62;
}

.button.full {
  width:100%;
  margin-top:12px;
}

.quick-meta {
  margin-top:20px;
  padding:18px;
  border-radius:20px;
  border:1px solid var(--line);
  background:var(--ice);
}

.quick-meta span {
  display:block;
  color:var(--muted);
  font-weight:800;
  font-size:.86rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.quick-meta strong {
  display:block;
  margin-top:5px;
  color:var(--navy-deep);
}

.related-services {
  background:linear-gradient(180deg, var(--soft), #fff);
  border-top:1px solid var(--line);
}

.mini-service-grid {
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:16px;
}

.mini-service-link {
  display:grid;
  gap:10px;
  align-content:start;
  min-height:150px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:22px;
  background:white;
  text-decoration:none;
  color:var(--navy-deep);
  font-weight:900;
  box-shadow:0 12px 32px rgba(8,45,115,.07);
  transition:transform .2s ease, border-color .2s ease;
}

.mini-service-link:hover {
  transform:translateY(-3px);
  border-color:rgba(255,53,200,.32);
}

.mini-service-link img {
  width:100%;
  height:74px;
  object-fit:contain;
}

.policy-card {
  border:1px solid var(--line);
  border-radius:32px;
  padding:30px;
  background:white;
  box-shadow:var(--shadow);
}

.policy-card h2 {
  font-size:2rem;
}

.policy-card p {
  color:var(--muted);
  line-height:1.6;
}

/* Rich footer */
.rich-footer {
  text-align:left;
  padding:clamp(48px, 6vw, 78px) clamp(22px, 7vw, 92px) 34px;
}

.footer-grid {
  display:grid;
  grid-template-columns:minmax(260px, 1.2fr) minmax(260px, 1fr) minmax(220px, .75fr);
  gap:42px;
  align-items:start;
  max-width:1500px;
  margin:0 auto 34px;
}

.site-footer .footer-brand img {
  background:white;
  border-radius:16px;
  padding:10px;
  margin-bottom:18px;
}

.site-footer h2 {
  color:white;
  font-size:1.3rem;
  letter-spacing:0;
  margin-bottom:18px;
}

.footer-links {
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:10px;
  line-height:1.35;
}

.footer-links a {
  color:#d8ecff;
  text-decoration:none;
  font-weight:800;
}

.footer-links a:hover {
  color:white;
  text-decoration:underline;
  text-decoration-color:var(--pink);
  text-decoration-thickness:3px;
  text-underline-offset:4px;
}

.rich-footer .small {
  max-width:1500px;
  margin:0 auto;
  text-align:left;
}


/* Enhanced organisation / client logo section */
.client-logo-section {
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 0% 15%, rgba(85,217,255,.18), transparent 34%),
    radial-gradient(circle at 100% 100%, rgba(255,53,200,.09), transparent 32%),
    #fff;
}

.client-section-grid {
  display:grid;
  grid-template-columns:minmax(0, 1fr) 360px;
  gap:clamp(24px, 5vw, 70px);
  align-items:end;
  margin-bottom:38px;
}

.client-section-grid .section-heading {
  margin-bottom:0;
}

.client-section-grid .section-heading p:not(.eyebrow) {
  max-width:920px;
  color:var(--muted);
  font-size:1.08rem;
  line-height:1.62;
}

.client-note-card {
  border:1px solid rgba(26,167,232,.24);
  border-radius:28px;
  padding:26px;
  background:
    radial-gradient(circle at right top, rgba(85,217,255,.22), transparent 45%),
    linear-gradient(180deg, #fff, var(--soft));
  box-shadow:0 18px 44px rgba(8,45,115,.08);
}

.client-note-card span {
  display:block;
  font-size:2.4rem;
  line-height:1;
  font-weight:950;
  letter-spacing:-.04em;
  color:var(--navy-deep);
}

.client-note-card p {
  margin:12px 0 0;
  color:var(--muted);
  line-height:1.58;
}

.client-logo-grid {
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:16px;
}

.client-logo-card {
  min-height:150px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:10px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:24px;
  background:rgba(255,255,255,.9);
  box-shadow:0 12px 32px rgba(8,45,115,.07);
  text-decoration:none;
  color:var(--navy-deep);
  transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.client-logo-card:hover {
  transform:translateY(-4px);
  border-color:rgba(255,53,200,.30);
  box-shadow:0 18px 48px rgba(8,45,115,.12);
  background:#fff;
}

.client-logo-mark {
  height:56px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  position:relative;
}

.client-logo-mark img {
  max-width:142px;
  max-height:52px;
  width:auto;
  height:auto;
  object-fit:contain;
  filter:grayscale(1) contrast(1.02);
  opacity:.86;
  transition:filter .2s ease, opacity .2s ease, transform .2s ease;
}

.client-logo-card:hover .client-logo-mark img {
  filter:grayscale(0);
  opacity:1;
  transform:scale(1.03);
}

.logo-fallback {
  display:none;
  width:54px;
  height:54px;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  background:linear-gradient(135deg, var(--navy), var(--blue));
  color:white;
  font-size:1rem;
  letter-spacing:.03em;
  box-shadow:0 10px 24px rgba(8,45,115,.15);
}

.client-logo-card.logo-missing .logo-fallback,
.client-logo-card .client-logo-mark > .logo-fallback:first-child {
  display:inline-flex;
}

.client-logo-card strong {
  display:block;
  font-size:.96rem;
  line-height:1.22;
}

.client-logo-card small {
  display:block;
  color:var(--muted);
  font-weight:800;
  font-size:.78rem;
}

.client-disclaimer {
  max-width:1100px;
  margin:24px 0 0;
  color:var(--muted);
  font-size:.92rem;
  line-height:1.55;
}

@media (max-width: 1280px) {
  .client-logo-grid { grid-template-columns:repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .client-section-grid { grid-template-columns:1fr; }
  .client-logo-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
  .client-logo-grid { grid-template-columns:1fr; }
}


/* Enhanced Business Consulting section */
.business-consulting-section {
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 0% 12%, rgba(255,53,200,.08), transparent 32%),
    radial-gradient(circle at 100% 18%, rgba(85,217,255,.18), transparent 34%),
    #fff;
}

.business-intro-grid {
  display:grid;
  grid-template-columns:minmax(0, .9fr) minmax(360px, .75fr);
  gap:clamp(28px, 5vw, 72px);
  align-items:center;
  margin-bottom:42px;
}

.business-intro-grid .section-heading {
  margin-bottom:0;
}

.business-section-visual {
  margin:0;
  border:1px solid var(--line);
  border-radius:32px;
  background:linear-gradient(180deg, #fff, var(--soft));
  box-shadow:0 20px 60px rgba(8,45,115,.08);
  overflow:hidden;
}

.business-section-visual img {
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}

.visual-business-layout {
  gap:28px;
}

.business-visual-card {
  display:grid;
  grid-template-columns:minmax(210px, .42fr) minmax(0, .58fr);
  align-items:stretch;
  min-height:250px;
  border:1px solid var(--line);
  border-radius:30px;
  overflow:hidden;
  background:white;
  box-shadow:0 18px 48px rgba(8,45,115,.08);
  text-decoration:none;
  color:inherit;
  transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.business-visual-card:first-child {
  border-top-color:rgba(255,53,200,.45);
}

.business-visual-card:nth-child(2) {
  border-top-color:rgba(26,167,232,.55);
}

.business-visual-card:hover {
  transform:translateY(-4px);
  border-color:rgba(255,53,200,.30);
  box-shadow:0 24px 64px rgba(8,45,115,.12);
}

.business-visual-card > img {
  width:100%;
  height:100%;
  min-height:250px;
  object-fit:cover;
  background:var(--soft);
}

.business-visual-card > div {
  padding:30px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.business-visual-card strong {
  display:block;
  color:var(--navy-deep);
  font-size:1.45rem;
  margin-bottom:12px;
}

.business-visual-card p {
  color:var(--muted);
  line-height:1.58;
  margin-bottom:18px;
}

.business-visual-card em {
  display:inline-flex;
  align-items:center;
  margin-top:18px;
  color:var(--pink);
  font-style:normal;
  font-weight:900;
}

.business-visual-card em:after {
  content:"→";
  margin-left:8px;
  transition:transform .2s ease;
}

.business-visual-card:hover em:after {
  transform:translateX(4px);
}

.business-page-hero {
  background:
    radial-gradient(circle at 88% 15%, rgba(255,53,200,.13), transparent 30%),
    radial-gradient(circle at 8% 82%, rgba(85,217,255,.22), transparent 34%),
    linear-gradient(180deg, #fff 0%, var(--ice) 100%);
}

.business-service-art img {
  width:min(88%, 460px);
}

.business-page-chip-row {
  margin:26px 0 8px;
}

.business-mosaic .mosaic-large img {
  object-fit:cover;
  padding:0;
}

@media (max-width: 980px) {
  .business-intro-grid { grid-template-columns:1fr; }
  .business-section-visual { max-width:760px; }
  .business-visual-card { grid-template-columns:1fr; }
  .business-visual-card > img { min-height:220px; }
}

@media (max-width: 620px) {
  .business-visual-card > div { padding:24px; }
}


/* Imersar immersive services integration */
.imersar-feature-panel {
  display:grid;
  grid-template-columns:320px minmax(0, 1fr);
  gap:clamp(24px, 4vw, 54px);
  align-items:center;
  margin:0 0 44px;
  padding:clamp(26px, 4vw, 44px);
  border:1px solid rgba(26,167,232,.28);
  border-radius:36px;
  background:
    radial-gradient(circle at 12% 18%, rgba(85,217,255,.22), transparent 38%),
    radial-gradient(circle at 96% 100%, rgba(255,53,200,.12), transparent 42%),
    linear-gradient(135deg, #fff, var(--soft));
  box-shadow:0 22px 64px rgba(8,45,115,.10);
}

.imersar-brand-block {
  min-height:230px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:18px;
  padding:24px;
  border-radius:30px;
  border:1px solid var(--line);
  background:white;
  box-shadow:0 14px 36px rgba(8,45,115,.07);
}

.imersar-brand-block img {
  display:block;
  width:min(100%, 280px);
  height:auto;
}

.imersar-brand-block span {
  display:inline-flex;
  width:max-content;
  max-width:100%;
  border:1px solid var(--line);
  border-radius:999px;
  padding:8px 12px;
  background:var(--ice);
  color:var(--navy);
  font-weight:900;
  font-size:.83rem;
}

.imersar-copy-block h3 {
  font-size:clamp(2rem, 3vw, 3.5rem);
  line-height:1;
  letter-spacing:-.05em;
  color:var(--navy-deep);
  margin-bottom:18px;
}

.imersar-copy-block p:not(.eyebrow) {
  color:var(--muted);
  line-height:1.66;
  font-size:1.08rem;
  max-width:900px;
}

.imersar-pill-row {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:22px 0 26px;
}

.imersar-pill-row span {
  padding:9px 13px;
  border:1px solid var(--line);
  border-radius:999px;
  background:white;
  color:var(--navy);
  font-weight:900;
}

.imersar-actions {
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}

.imersar-page-hero {
  background:
    radial-gradient(circle at 86% 16%, rgba(255,53,200,.14), transparent 30%),
    radial-gradient(circle at 4% 86%, rgba(85,217,255,.24), transparent 34%),
    linear-gradient(180deg, #fff 0%, var(--ice) 100%);
}

.imersar-service-art {
  background:
    radial-gradient(circle at 50% 50%, rgba(85,217,255,.20), transparent 62%),
    linear-gradient(135deg, rgba(255,255,255,.95), rgba(242,251,255,.8));
}

.imersar-service-art img {
  width:min(84%, 520px);
}

.imersar-example-grid {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
  margin:34px 0;
}

.imersar-example-grid a {
  min-height:132px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:20px;
  border:1px solid var(--line);
  border-radius:24px;
  background:
    linear-gradient(135deg, rgba(8,45,115,.04), rgba(85,217,255,.10)),
    #fff;
  text-decoration:none;
  box-shadow:0 12px 32px rgba(8,45,115,.07);
  transition:transform .2s ease, border-color .2s ease;
}

.imersar-example-grid a:hover {
  transform:translateY(-3px);
  border-color:rgba(255,53,200,.32);
}

.imersar-example-grid strong {
  color:var(--navy-deep);
  font-size:1.05rem;
}

.imersar-example-grid span {
  margin-top:6px;
  color:var(--muted);
  font-weight:800;
  line-height:1.35;
}

.imersar-inline-panel {
  display:grid;
  grid-template-columns:220px minmax(0, 1fr);
  gap:24px;
  align-items:center;
  margin:34px 0;
  padding:24px;
  border-radius:28px;
  border:1px solid rgba(26,167,232,.24);
  background:
    radial-gradient(circle at left top, rgba(85,217,255,.18), transparent 44%),
    #fff;
  box-shadow:0 14px 36px rgba(8,45,115,.07);
}

.imersar-inline-panel img {
  width:100%;
  height:auto;
}

.imersar-inline-panel h3 {
  margin-bottom:10px;
}

@media (max-width: 980px) {
  .imersar-feature-panel,
  .imersar-inline-panel {
    grid-template-columns:1fr;
  }
  .imersar-example-grid {
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width: 620px) {
  .imersar-example-grid {
    grid-template-columns:1fr;
  }
}


/* Enhanced navigation with subpages */
.enhanced-nav {
  gap:clamp(12px, 2.1vw, 28px);
}

.nav-group {
  position:relative;
}

.nav-group summary {
  list-style:none;
  cursor:pointer;
  white-space:nowrap;
  color:var(--navy-deep);
  font-weight:900;
  display:flex;
  align-items:center;
  gap:7px;
  user-select:none;
}

.nav-group summary::-webkit-details-marker {
  display:none;
}

.nav-group summary:after {
  content:"";
  width:7px;
  height:7px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
  opacity:.75;
  transition:transform .18s ease;
}

.nav-group[open] summary,
.nav-group summary:hover {
  color:var(--pink);
}

.nav-group[open] summary:after {
  transform:rotate(225deg) translateY(-2px);
}

.nav-dropdown {
  position:absolute;
  top:calc(100% + 18px);
  left:50%;
  transform:translateX(-50%);
  min-width:330px;
  max-width:min(90vw, 520px);
  padding:14px;
  border:1px solid var(--line);
  border-radius:24px;
  background:rgba(255,255,255,.98);
  box-shadow:0 24px 70px rgba(8,45,115,.16);
  z-index:80;
}

.nav-dropdown:before {
  content:"";
  position:absolute;
  top:-9px;
  left:50%;
  width:18px;
  height:18px;
  transform:translateX(-50%) rotate(45deg);
  border-left:1px solid var(--line);
  border-top:1px solid var(--line);
  background:white;
}

.nav-dropdown.wide {
  min-width:430px;
}

.nav-dropdown a {
  position:relative;
  z-index:1;
  display:block;
  padding:13px 14px;
  border-radius:16px;
  white-space:normal;
  color:var(--navy-deep);
}

.nav-dropdown a:hover {
  background:var(--ice);
  color:var(--navy-deep);
}

.nav-dropdown strong {
  display:block;
  font-size:.95rem;
  line-height:1.2;
}

.nav-dropdown span {
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-weight:750;
  font-size:.82rem;
  line-height:1.35;
}

/* Breadcrumbs */
.breadcrumb {
  padding:16px clamp(22px, 7vw, 92px);
  border-bottom:1px solid var(--line);
  background:
    radial-gradient(circle at 0% 50%, rgba(85,217,255,.12), transparent 34%),
    rgba(255,255,255,.94);
  color:var(--muted);
  font-size:.92rem;
  font-weight:800;
}

.breadcrumb ol {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  padding:0;
  margin:0;
  list-style:none;
}

.breadcrumb li {
  display:flex;
  align-items:center;
  gap:8px;
}

.breadcrumb li + li:before {
  content:"›";
  color:var(--blue);
  font-weight:950;
}

.breadcrumb a {
  color:var(--navy);
  text-decoration:none;
}

.breadcrumb a:hover {
  color:var(--pink);
  text-decoration:underline;
  text-decoration-thickness:3px;
  text-underline-offset:4px;
}

.breadcrumb [aria-current="page"] {
  color:var(--muted);
}

@media (max-width: 1180px) {
  .enhanced-nav {
    gap:14px;
  }
  .site-nav {
    font-size:.95rem;
  }
  .nav-pill {
    padding:13px 18px;
  }
}

@media (max-width: 980px) {
  .nav-group {
    width:100%;
  }
  .nav-group summary {
    padding:10px 8px;
    justify-content:space-between;
  }
  .nav-dropdown,
  .nav-dropdown.wide {
    position:static;
    transform:none;
    min-width:0;
    max-width:none;
    width:100%;
    margin:6px 0 8px;
    box-shadow:none;
    border-radius:18px;
    background:var(--soft);
  }
  .nav-dropdown:before {
    display:none;
  }
}


/* Enhanced Games Consulting section */
.games-consulting-section {
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 0% 10%, rgba(85,217,255,.16), transparent 34%),
    radial-gradient(circle at 100% 92%, rgba(216,153,65,.10), transparent 30%),
    #fff;
}

.games-intro-grid {
  display:grid;
  grid-template-columns:minmax(0, .82fr) minmax(320px, .58fr);
  gap:clamp(28px, 5vw, 74px);
  align-items:end;
  margin-bottom:42px;
}

.games-intro-grid .section-heading {
  margin-bottom:0;
}

.gamecrowd-hero-card {
  display:grid;
  gap:18px;
  padding:28px;
  border:1px solid rgba(26,167,232,.28);
  border-radius:32px;
  background:
    radial-gradient(circle at right top, rgba(85,217,255,.18), transparent 42%),
    radial-gradient(circle at left bottom, rgba(255,53,200,.10), transparent 42%),
    linear-gradient(180deg, #fff, var(--soft));
  box-shadow:0 20px 60px rgba(8,45,115,.09);
  color:var(--navy-deep);
  text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.gamecrowd-hero-card:hover {
  transform:translateY(-4px);
  border-color:rgba(255,53,200,.32);
  box-shadow:0 26px 70px rgba(8,45,115,.14);
}

.gamecrowd-hero-card img {
  display:block;
  width:min(100%, 420px);
  height:auto;
  border-radius:22px;
}

.gamecrowd-hero-card span {
  color:var(--muted);
  font-weight:850;
  line-height:1.5;
}

.games-card-grid {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:26px;
}

.games-visual-card {
  min-height:100%;
  display:grid;
  grid-template-rows:220px 1fr;
  border:1px solid var(--line);
  border-radius:30px;
  overflow:hidden;
  background:white;
  box-shadow:0 18px 48px rgba(8,45,115,.08);
  color:inherit;
  text-decoration:none;
  transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.games-visual-card:nth-child(1) { border-top:8px solid var(--blue); }
.games-visual-card:nth-child(2) { border-top:8px solid var(--pink); }
.games-visual-card:nth-child(3) { border-top:8px solid var(--gold); }

.games-visual-card:hover {
  transform:translateY(-5px);
  border-color:rgba(26,167,232,.38);
  box-shadow:0 24px 66px rgba(8,45,115,.13);
}

.games-card-visual {
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:
    radial-gradient(circle at 50% 50%, rgba(85,217,255,.14), transparent 70%),
    linear-gradient(180deg, var(--soft), #fff);
  border-bottom:1px solid var(--line);
}

.games-card-visual img {
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 16px 24px rgba(8,45,115,.10));
}

.games-card-visual.logo-visual {
  background:
    radial-gradient(circle at 50% 50%, rgba(255,53,200,.14), transparent 62%),
    linear-gradient(135deg, #f7fbff, #fff);
}

.games-card-copy {
  padding:28px;
}

.games-card-copy strong {
  display:block;
  color:var(--navy-deep);
  font-size:1.45rem;
  margin-bottom:12px;
}

.games-card-copy p {
  color:var(--muted);
  line-height:1.58;
}

.games-card-copy ul {
  margin-top:18px;
}

.games-card-copy em {
  display:inline-flex;
  align-items:center;
  margin-top:18px;
  color:var(--pink);
  font-style:normal;
  font-weight:900;
}

.games-card-copy em:after {
  content:"→";
  margin-left:8px;
  transition:transform .2s ease;
}

.games-visual-card:hover em:after {
  transform:translateX(4px);
}

.game-page-hero {
  background:
    radial-gradient(circle at 86% 16%, rgba(216,153,65,.14), transparent 30%),
    radial-gradient(circle at 4% 86%, rgba(85,217,255,.22), transparent 34%),
    linear-gradient(180deg, #fff 0%, var(--ice) 100%);
}

.game-service-art img {
  width:min(86%, 470px);
}

.gamecrowd-service-art {
  background:
    radial-gradient(circle at 50% 50%, rgba(255,53,200,.14), transparent 62%),
    linear-gradient(135deg, rgba(255,255,255,.95), rgba(242,251,255,.82));
}

.gamecrowd-service-art img {
  width:min(90%, 560px);
}

.game-mosaic .mosaic-large img {
  object-fit:contain;
  padding:20px;
}

@media (max-width: 1180px) {
  .games-card-grid {
    grid-template-columns:1fr;
  }
  .games-visual-card {
    grid-template-columns:300px minmax(0, 1fr);
    grid-template-rows:auto;
  }
}

@media (max-width: 980px) {
  .games-intro-grid {
    grid-template-columns:1fr;
  }
}

@media (max-width: 700px) {
  .games-visual-card {
    grid-template-columns:1fr;
    grid-template-rows:220px 1fr;
  }
}


/* GameCrowd logo treatment refinement */
.gamecrowd-hero-card {
  background:
    radial-gradient(circle at right top, rgba(0,223,150,.20), transparent 38%),
    linear-gradient(135deg, #050c0b, #061f54 72%, #082d73);
  color:#fff;
  border-color:rgba(0,223,150,.34);
}

.gamecrowd-hero-card img {
  background:#050c0b;
  border-radius:18px;
  padding:10px 14px;
  box-shadow:0 18px 46px rgba(0,0,0,.22);
}

.gamecrowd-hero-card span {
  color:#dff7ff;
}

.games-card-visual.logo-visual {
  background:
    radial-gradient(circle at 50% 50%, rgba(0,223,150,.18), transparent 64%),
    linear-gradient(135deg, #050c0b, #061f54);
}

.games-card-visual.logo-visual img {
  background:#050c0b;
  border-radius:18px;
  padding:12px;
}

.gamecrowd-service-art {
  background:
    radial-gradient(circle at 50% 50%, rgba(0,223,150,.18), transparent 62%),
    linear-gradient(135deg, #050c0b, #061f54);
}

.gamecrowd-service-art img {
  background:#050c0b;
  border-radius:22px;
  padding:14px;
  box-shadow:0 20px 60px rgba(0,0,0,.20);
}

.mini-service-link img[src$="gamecrowd-logo-green.svg"] {
  background:#050c0b;
  border-radius:12px;
  padding:8px;
}


/* Corrected GameCrowd logo treatment from supplied mockup */
.gamecrowd-hero-card img,
.games-card-visual.logo-visual img,
.gamecrowd-service-art img,
.mini-service-link img[src$="gamecrowd-logo-green.svg"] {
  background:transparent;
  border-radius:18px;
  padding:0;
  object-fit:contain;
}

.gamecrowd-hero-card img {
  width:min(100%, 650px);
  max-height:130px;
}

.games-card-visual.logo-visual img {
  width:min(100%, 650px);
  max-height:150px;
}

.gamecrowd-service-art img {
  width:min(90%, 650px);
  max-height:150px;
}

.mini-service-link img[src$="gamecrowd-logo-green.svg"] {
  max-height:74px;
}


/* Official GameCrowd SVG logo treatment */
.gamecrowd-hero-card img,
.games-card-visual.logo-visual img,
.gamecrowd-service-art img,
.mini-service-link img[src$="gamecrowd-logo-green.svg"] {
  background:transparent;
  border-radius:18px;
  padding:0;
  object-fit:contain;
}

.gamecrowd-hero-card img {
  width:min(100%, 650px);
  max-height:132px;
}

.games-card-visual.logo-visual img {
  width:min(100%, 650px);
  max-height:154px;
}

.gamecrowd-service-art img {
  width:min(90%, 680px);
  max-height:160px;
}

.mini-service-link img[src$="gamecrowd-logo-green.svg"] {
  max-height:74px;
}


/* Real board game photography in Games Consulting section */
.games-card-visual img[src$="-photo.jpg"],
.game-service-art img[src$="-photo.jpg"],
.mini-service-link img[src$="-photo.jpg"] {
  object-fit:cover;
  object-position:center;
}

.games-card-visual img[src$="visual-board-game-development-photo.jpg"] {
  object-position:center 58%;
}

.games-card-visual img[src$="visual-marketing-funding-sales-photo.jpg"] {
  object-position:center 48%;
}

.game-service-art img[src$="-photo.jpg"] {
  width:100%;
  height:100%;
  max-height:none;
  border-radius:0;
  filter:none;
}

.game-service-art:has(img[src$="-photo.jpg"]) {
  padding:0;
  overflow:hidden;
}

.game-mosaic .mosaic-large img[src$="-photo.jpg"],
.content-image-mosaic img[src$="-photo.jpg"] {
  object-fit:cover;
  padding:0;
}

.mini-service-link img[src$="-photo.jpg"] {
  border-radius:14px;
}


/* Official Imersar logo treatment on dark panels */
.imersar-brand-block,
.imersar-service-art,
.imersar-inline-panel {
  background:
    radial-gradient(circle at 20% 18%, rgba(26,167,232,.22), transparent 40%),
    linear-gradient(135deg, #050c0b 0%, #061f54 72%, #082d73 100%);
  border-color:rgba(85,217,255,.30);
  color:#fff;
}

.imersar-brand-block {
  box-shadow:0 20px 56px rgba(8,45,115,.18);
}

.imersar-brand-block img,
.imersar-service-art img,
.imersar-inline-panel img {
  background:transparent;
  border-radius:0;
  padding:0;
  filter:drop-shadow(0 18px 28px rgba(0,0,0,.22));
}

.imersar-brand-block span {
  background:rgba(255,255,255,.08);
  border-color:rgba(85,217,255,.30);
  color:#e9fbff;
}

.imersar-inline-panel h3 {
  color:#fff;
}

.imersar-inline-panel p {
  color:#d8ecff;
}

.imersar-inline-panel .text-link {
  color:#fff;
}

.imersar-service-art:before {
  border-color:rgba(85,217,255,.30);
}


/* Imersar case-study image cards */
.imersar-image-grid {
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:20px;
}

.imersar-image-grid a {
  min-height:360px;
  justify-content:flex-start;
  padding:0;
  overflow:hidden;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(242,251,255,.92));
}

.imersar-image-grid img {
  width:100%;
  height:210px;
  object-fit:cover;
  display:block;
  border-bottom:1px solid var(--line);
  filter:saturate(.95) contrast(1.02);
  transition:transform .25s ease, filter .25s ease;
}

.imersar-image-grid a:hover img {
  transform:scale(1.035);
  filter:saturate(1.08) contrast(1.05);
}

.imersar-image-grid strong,
.imersar-image-grid span {
  padding-inline:22px;
}

.imersar-image-grid strong {
  padding-top:20px;
  font-size:1.12rem;
}

.imersar-image-grid span {
  padding-bottom:22px;
}

@media (max-width: 1100px) {
  .imersar-image-grid {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 660px) {
  .imersar-image-grid {
    grid-template-columns:1fr;
  }

  .imersar-image-grid a {
    min-height:0;
  }

  .imersar-image-grid img {
    height:220px;
  }
}


/* GameCrowd service page: real photos behind the logo */
.gamecrowd-photo-hero {
  background:
    linear-gradient(135deg, rgba(5,12,11,.68), rgba(6,31,84,.78)),
    url("assets/gamecrowd-maker-hero-bg.jpg") center/cover no-repeat;
}

.gamecrowd-photo-hero:before {
  border-color:rgba(0,223,150,.30);
}

.gamecrowd-photo-hero .gamecrowd-page-logo {
  width:min(88%, 640px);
  max-height:170px;
  background:transparent;
  border-radius:0;
  padding:0;
  filter:drop-shadow(0 20px 28px rgba(0,0,0,.36));
}

.gamecrowd-photo-mosaic .mosaic-large {
  position:relative;
  min-height:430px;
  background:#050c0b;
}

.gamecrowd-photo-mosaic .gamecrowd-bg-photo {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  padding:0;
  filter:saturate(.9) contrast(1.05);
}

.gamecrowd-logo-photo-panel:after {
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 35% 42%, rgba(0,223,150,.08), transparent 38%),
    linear-gradient(135deg, rgba(5,12,11,.60), rgba(6,31,84,.60));
  pointer-events:none;
}

.gamecrowd-photo-mosaic .gamecrowd-overlay-logo {
  position:absolute;
  z-index:2;
  left:clamp(22px, 5vw, 54px);
  bottom:clamp(22px, 5vw, 54px);
  width:min(72%, 560px);
  height:auto;
  object-fit:contain;
  padding:0;
  background:transparent;
  filter:drop-shadow(0 18px 28px rgba(0,0,0,.38));
}

.gamecrowd-photo-tile img {
  object-fit:cover !important;
  padding:0 !important;
}

@media (max-width: 620px) {
  .gamecrowd-photo-mosaic .mosaic-large {
    min-height:300px;
  }

  .gamecrowd-photo-mosaic .gamecrowd-overlay-logo {
    width:82%;
  }
}


/* Dark logo treatment for GameCrowd in related support cards */
.gamecrowd-mini-link img,
.mini-service-link img[src$="gamecrowd-logo-green.svg"] {
  display:block;
  width:100%;
  min-height:76px;
  max-height:76px;
  object-fit:contain;
  background:
    radial-gradient(circle at 18% 28%, rgba(0,223,150,.18), transparent 32%),
    linear-gradient(135deg, #050c0b 0%, #061f54 72%, #082d73 100%);
  border-radius:16px;
  padding:12px 18px;
  box-sizing:border-box;
}

.gamecrowd-mini-link:hover img,
.mini-service-link:hover img[src$="gamecrowd-logo-green.svg"] {
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.16));
}


/* Expanded booking services section */
.booking-services-section {
  background:
    radial-gradient(circle at 0% 18%, rgba(85,217,255,.18), transparent 34%),
    radial-gradient(circle at 100% 74%, rgba(255,53,200,.08), transparent 30%),
    linear-gradient(180deg, var(--soft), var(--ice));
}

.booking-intro-grid {
  display:grid;
  grid-template-columns:minmax(0, 1fr) 360px;
  gap:clamp(24px, 5vw, 70px);
  align-items:end;
  margin-bottom:34px;
}

.booking-intro-grid .section-heading {
  margin-bottom:0;
}

.booking-note-card {
  border:1px solid rgba(26,167,232,.25);
  border-radius:28px;
  padding:26px;
  background:
    radial-gradient(circle at right top, rgba(85,217,255,.22), transparent 45%),
    #fff;
  box-shadow:0 18px 44px rgba(8,45,115,.08);
}

.booking-note-card span {
  display:block;
  color:var(--navy-deep);
  font-size:1.45rem;
  font-weight:950;
  letter-spacing:-.03em;
}

.booking-note-card p {
  margin:10px 0 0;
  color:var(--muted);
  line-height:1.58;
}

.booking-category-heading {
  margin:34px 0 20px;
}

.booking-category-heading h3 {
  max-width:980px;
  font-size:clamp(1.55rem, 2.4vw, 2.45rem);
  line-height:1.06;
}

.business-booking-heading {
  margin-top:58px;
}

.business-booking-grid {
  grid-template-columns:repeat(3, minmax(0, 1fr));
  margin-bottom:34px;
}

.business-price-card {
  position:relative;
  overflow:hidden;
}

.business-price-card:before {
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:8px;
  background:linear-gradient(90deg, var(--blue), var(--pink));
}

.business-price-card.featured {
  border-color:rgba(255,53,200,.38);
}

.business-price-card.subscription-card:before {
  background:linear-gradient(90deg, var(--gold), var(--pink));
}

.booking-mini-list {
  list-style:none;
  padding:0;
  margin:18px 0 22px;
  display:grid;
  gap:8px;
  line-height:1.35;
}

.booking-mini-list li {
  position:relative;
  padding-left:22px;
  color:var(--navy-deep);
  font-weight:800;
}

.booking-mini-list li:before {
  content:"";
  position:absolute;
  left:0;
  top:.48em;
  width:9px;
  height:9px;
  border-radius:999px;
  background:linear-gradient(135deg, var(--blue), var(--pink));
}

@media (max-width: 1180px) {
  .business-booking-grid {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .booking-intro-grid,
  .business-booking-grid {
    grid-template-columns:1fr;
  }
}


/* Refined business consulting card visuals to match the updated team illustration */
.business-visual-card:first-child > img {
  object-position:center center;
}

.business-visual-card:nth-child(2) > img {
  object-position:62% center;
}

.service-hero-art img[src$="visual-startup-growth-support.png"],
.service-hero-art img[src$="visual-technology-security-ai.png"] {
  width:min(92%, 560px);
  border-radius:28px;
}

.content-image-mosaic img[src$="visual-startup-growth-support.png"],
.content-image-mosaic img[src$="visual-technology-security-ai.png"] {
  padding:0;
  object-fit:cover;
}


/* Version 25: final purpose-specific business illustration placement */
.business-visual-card:first-child > img {
  object-position:center center;
}

.business-visual-card:nth-child(2) > img {
  object-position:center center;
}

.service-hero-art img[src$="visual-startup-growth-support.png"],
.service-hero-art img[src$="visual-technology-security-ai.png"] {
  width:min(94%, 620px);
  border-radius:28px;
}

.content-image-mosaic img[src$="visual-startup-growth-support.png"],
.content-image-mosaic img[src$="visual-technology-security-ai.png"] {
  padding:0;
  object-fit:cover;
  object-position:center center;
}


/* Version 26: real photography for Technology, Security & AI page */
.service-hero-art img[src$="tech-security-hero-crop.jpg"],
.content-image-mosaic img[src$="tech-security-hero-crop.jpg"],
.content-image-mosaic img[src$="tech-security-dev-team-crop.jpg"] {
  width:100%;
  height:100%;
  object-fit:cover;
  padding:0;
  border-radius:0;
  filter:none;
}

.service-hero-art:has(img[src$="tech-security-hero-crop.jpg"]) {
  padding:0;
  overflow:hidden;
}

.image-credit-card {
  margin-top:30px;
  padding:18px 20px;
  border:1px solid var(--line);
  border-radius:20px;
  background:rgba(255,255,255,.82);
  color:var(--muted);
}

.image-credit-card h3 {
  margin:0 0 8px;
  font-size:1.1rem;
  color:var(--navy-deep);
}

.image-credit-card p {
  margin:0;
  font-size:.92rem;
  line-height:1.5;
}


/* Version 27: real photography for Startup & Growth Support page */
.service-hero-art img[src$="startup-growth-hero-photo.jpg"],
.content-image-mosaic img[src$="startup-growth-roadmap-photo.jpg"],
.content-image-mosaic img[src$="startup-growth-team-photo.jpg"] {
  width:100%;
  height:100%;
  object-fit:cover;
  padding:0;
  border-radius:0;
  filter:none;
}

.service-hero-art:has(img[src$="startup-growth-hero-photo.jpg"]) {
  padding:0;
  overflow:hidden;
}

.content-image-mosaic img[src$="startup-growth-roadmap-photo.jpg"] {
  object-position:center center;
}

.content-image-mosaic img[src$="startup-growth-team-photo.jpg"] {
  object-position:center center;
}


/* Version 30: full legal terms content */
.legal-content-section {
  background:
    radial-gradient(circle at 0% 10%, rgba(85,217,255,.10), transparent 32%),
    linear-gradient(180deg, #fff, var(--soft));
}

.legal-copy-card {
  max-width:1040px;
  margin:0 auto;
  padding:clamp(28px, 5vw, 64px);
  border:1px solid var(--line);
  border-radius:36px;
  background:#fff;
  box-shadow:0 20px 60px rgba(8,45,115,.08);
}

.legal-copy-card h2 {
  margin-top:2.2rem;
  margin-bottom:0.8rem;
  color:var(--navy-deep);
  font-size:clamp(1.45rem, 2vw, 2rem);
  letter-spacing:-.025em;
}

.legal-copy-card h2:first-child {
  margin-top:0;
}

.legal-copy-card h3 {
  margin-top:1.6rem;
  color:var(--navy-deep);
}

.legal-copy-card p,
.legal-copy-card li {
  color:var(--muted);
  font-size:1rem;
  line-height:1.72;
}

.legal-copy-card p {
  margin:0 0 1rem;
}

.legal-copy-card ul {
  margin:0 0 1.25rem 1.2rem;
  padding-left:1rem;
}

.legal-copy-card li {
  margin-bottom:.55rem;
}

.legal-copy-card a {
  color:var(--blue);
  font-weight:850;
}

.legal-copy-card strong {
  color:var(--navy-deep);
}


/* Version 31: Pay-as-you-go website support blocks */
.website-support-section {
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 0% 12%, rgba(85,217,255,.16), transparent 34%),
    radial-gradient(circle at 100% 82%, rgba(255,53,200,.10), transparent 30%),
    linear-gradient(180deg, #fff, var(--soft));
}

.support-intro-grid {
  display:grid;
  grid-template-columns:minmax(0, 1fr) 360px;
  gap:clamp(24px, 5vw, 70px);
  align-items:end;
  margin-bottom:28px;
}

.support-intro-grid .section-heading {
  margin-bottom:0;
}

.support-note-card {
  padding:26px;
  border:1px solid rgba(26,167,232,.24);
  border-radius:28px;
  background:
    radial-gradient(circle at right top, rgba(85,217,255,.22), transparent 44%),
    #fff;
  box-shadow:0 18px 44px rgba(8,45,115,.08);
}

.support-note-card span {
  display:block;
  color:var(--navy-deep);
  font-weight:950;
  font-size:1.35rem;
  letter-spacing:-.025em;
}

.support-note-card p {
  margin:10px 0 14px;
  color:var(--muted);
  line-height:1.58;
}

.support-platform-row {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 28px;
}

.support-platform-row span {
  display:inline-flex;
  align-items:center;
  border:1px solid var(--line);
  border-radius:999px;
  padding:10px 14px;
  background:#fff;
  color:var(--navy-deep);
  font-weight:900;
  box-shadow:0 8px 22px rgba(8,45,115,.05);
}

.support-plan-grid {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:26px;
}

.support-plan-card {
  position:relative;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:30px;
  padding:30px;
  background:#fff;
  box-shadow:0 18px 48px rgba(8,45,115,.08);
}

.support-plan-card:before {
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:8px;
  background:linear-gradient(90deg, var(--blue), var(--pink));
}

.support-plan-card.featured-support {
  border-color:rgba(255,53,200,.36);
  transform:translateY(-6px);
  box-shadow:0 24px 66px rgba(8,45,115,.13);
}

.support-plan-card h3 {
  color:var(--navy-deep);
  font-size:1.55rem;
  line-height:1.08;
  margin:8px 0 10px;
}

.support-plan-card p:not(.price):not(.price-label) {
  color:var(--muted);
  line-height:1.6;
}

.stripe-buy-button {
  width:100%;
  justify-content:center;
  margin-top:8px;
}

.support-terms-strip {
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin-top:26px;
  padding:18px 20px;
  border:1px solid rgba(26,167,232,.22);
  border-radius:22px;
  background:#fff;
  color:var(--muted);
  box-shadow:0 12px 32px rgba(8,45,115,.06);
}

.support-terms-strip strong {
  color:var(--navy-deep);
}

.support-terms-strip a {
  color:var(--blue);
  font-weight:900;
}

@media (max-width: 1180px) {
  .support-plan-grid {
    grid-template-columns:1fr;
  }

  .support-plan-card.featured-support {
    transform:none;
  }
}

@media (max-width: 980px) {
  .support-intro-grid {
    grid-template-columns:1fr;
  }

  .support-terms-strip {
    flex-direction:column;
  }
}


/* Version 32: homepage proof strip service wording */
.proof-strip .proof-divider {
  opacity:.72;
  color:rgba(255,255,255,.78);
}


/* Version 33: expanded SEO content for Startup & Growth Support */
.expanded-support-grid {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
  margin:18px 0 28px;
}

.expanded-support-grid article {
  border:1px solid var(--line);
  border-radius:22px;
  padding:20px;
  background:
    radial-gradient(circle at right top, rgba(85,217,255,.12), transparent 45%),
    rgba(255,255,255,.88);
  box-shadow:0 12px 34px rgba(8,45,115,.05);
}

.expanded-support-grid h4 {
  margin:0 0 8px;
  color:var(--navy-deep);
  font-size:1.08rem;
  letter-spacing:-.01em;
}

.expanded-support-grid p {
  margin:0;
  color:var(--muted);
  line-height:1.62;
  font-size:.98rem;
}

.seo-copy-panel {
  margin:26px 0 30px;
  padding:clamp(22px, 4vw, 34px);
  border:1px solid rgba(26,167,232,.25);
  border-radius:28px;
  background:
    radial-gradient(circle at 0% 0%, rgba(85,217,255,.18), transparent 34%),
    radial-gradient(circle at 100% 100%, rgba(255,53,200,.10), transparent 34%),
    #fff;
  box-shadow:0 18px 46px rgba(8,45,115,.07);
}

.seo-copy-panel h3 {
  margin-top:0;
}

.seo-copy-panel p {
  color:var(--muted);
  line-height:1.7;
}

@media (max-width: 860px) {
  .expanded-support-grid {
    grid-template-columns:1fr;
  }
}


/* Version 34: Technology, Security & AI expanded content */
.technology-risk-note {
  border-left:4px solid var(--blue);
}


/* Version 35: expanded immersive services proof and Horror in the Library VR validation */
.immersive-proof-panel {
  display:grid;
  grid-template-columns:minmax(0, 1.15fr) minmax(280px, .65fr);
  gap:clamp(22px, 4vw, 44px);
  align-items:center;
  margin:32px 0 38px;
  padding:clamp(24px, 4vw, 38px);
  border:1px solid rgba(85,217,255,.26);
  border-radius:32px;
  background:
    radial-gradient(circle at 0% 0%, rgba(85,217,255,.18), transparent 36%),
    radial-gradient(circle at 100% 100%, rgba(255,53,200,.10), transparent 34%),
    linear-gradient(135deg, #ffffff, #f4fbff);
  box-shadow:0 20px 56px rgba(8,45,115,.08);
}

.immersive-proof-panel .proof-copy h3 {
  margin-top:0;
}

.immersive-proof-panel .proof-copy p {
  color:var(--muted);
  line-height:1.68;
}

.immersive-proof-panel figure {
  margin:0;
  border:1px solid var(--line);
  border-radius:28px;
  background:
    radial-gradient(circle at 50% 50%, rgba(85,217,255,.18), transparent 62%),
    #fff;
  overflow:hidden;
  box-shadow:0 16px 42px rgba(8,45,115,.08);
}

.immersive-proof-panel figure img {
  display:block;
  width:100%;
  height:auto;
  padding:18px;
  object-fit:contain;
}

.proof-link-row {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:18px;
}

.immersive-support-grid article {
  background:
    radial-gradient(circle at right top, rgba(85,217,255,.14), transparent 42%),
    rgba(255,255,255,.92);
}

.social-proof-links {
  display:grid;
  gap:8px;
  margin:16px 0 8px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(255,255,255,.78);
}

.social-proof-links a {
  color:var(--blue);
  font-weight:900;
  text-decoration:none;
}

.social-proof-links a:hover {
  color:var(--pink);
  text-decoration:underline;
  text-decoration-thickness:3px;
  text-underline-offset:4px;
}

@media (max-width: 900px) {
  .immersive-proof-panel {
    grid-template-columns:1fr;
  }
}


/* Version 36: expanded VR Development case-study imagery */
.vr-proof-mosaic .mosaic-large img,
.vr-proof-mosaic > div:not(.mosaic-panel) img {
  width:100%;
  height:100%;
  object-fit:cover;
  padding:0;
  border-radius:0;
}

.vr-proof-mosaic .mosaic-panel {
  background:
    radial-gradient(circle at 0% 0%, rgba(85,217,255,.18), transparent 38%),
    linear-gradient(135deg, #061f54, #050c0b);
  color:#fff;
}

.vr-proof-mosaic .mosaic-panel span {
  color:#e8fbff;
}


/* Version 37: VR Development video proof section */
.vr-video-showcase {
  margin:34px 0 38px;
  padding:clamp(22px, 4vw, 38px);
  border:1px solid rgba(85,217,255,.28);
  border-radius:32px;
  background:
    radial-gradient(circle at 0% 0%, rgba(85,217,255,.18), transparent 34%),
    radial-gradient(circle at 100% 100%, rgba(255,53,200,.10), transparent 30%),
    #fff;
  box-shadow:0 20px 56px rgba(8,45,115,.08);
}

.video-showcase-heading {
  max-width:860px;
  margin-bottom:24px;
}

.video-showcase-heading h3 {
  margin-top:0;
}

.video-showcase-heading p:not(.eyebrow) {
  color:var(--muted);
  line-height:1.68;
}

.video-showcase-grid {
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:20px;
  align-items:stretch;
}

.video-proof-card {
  border:1px solid var(--line);
  border-radius:26px;
  background:rgba(255,255,255,.9);
  overflow:hidden;
  box-shadow:0 14px 38px rgba(8,45,115,.06);
}

.featured-video-card {
  grid-row:span 2;
}

.video-embed {
  position:relative;
  aspect-ratio:16 / 9;
  background:#050c0b;
}

.video-embed iframe {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

.video-proof-copy {
  padding:20px 22px 24px;
}

.video-proof-copy h4,
.video-link-card h4 {
  margin:0 0 8px;
  color:var(--navy-deep);
  font-size:1.1rem;
}

.video-proof-copy p,
.video-link-card p {
  color:var(--muted);
  line-height:1.58;
  margin:0;
}

.video-link-card {
  display:grid;
  grid-template-columns:155px 1fr;
  gap:18px;
  padding:18px;
  align-items:center;
}

.video-link-card img {
  width:100%;
  height:130px;
  object-fit:cover;
  border-radius:18px;
  border:1px solid var(--line);
}

.video-link-card .text-link {
  display:inline-block;
  margin-top:10px;
}

@media (max-width: 1020px) {
  .video-showcase-grid,
  .video-link-card {
    grid-template-columns:1fr;
  }

  .featured-video-card {
    grid-row:auto;
  }

  .video-link-card img {
    height:220px;
  }
}


/* Version 39: improve VR page mosaic panel text contrast */
.vr-proof-mosaic .mosaic-panel {
  background:
    radial-gradient(circle at 0% 0%, rgba(85,217,255,.16), transparent 38%),
    linear-gradient(135deg, #ffffff, #eefaff);
  border:1px solid rgba(26,167,232,.22);
}

.vr-proof-mosaic .mosaic-panel span {
  color:var(--navy-deep);
  text-shadow:none;
}


/* Version 40: expanded AR Development page */
.ar-proof-mosaic .mosaic-large img,
.ar-proof-mosaic > div:not(.mosaic-panel) img {
  width:100%;
  height:100%;
  object-fit:cover;
  padding:0;
  border-radius:0;
}

.ar-proof-mosaic .mosaic-panel {
  background:
    radial-gradient(circle at 0% 0%, rgba(85,217,255,.16), transparent 38%),
    linear-gradient(135deg, #ffffff, #eefaff);
  border:1px solid rgba(26,167,232,.22);
}

.ar-proof-mosaic .mosaic-panel span {
  color:var(--navy-deep);
}

.ar-video-showcase {
  margin:34px 0 38px;
  padding:clamp(22px, 4vw, 38px);
  border:1px solid rgba(85,217,255,.28);
  border-radius:32px;
  background:
    radial-gradient(circle at 0% 0%, rgba(85,217,255,.18), transparent 34%),
    radial-gradient(circle at 100% 100%, rgba(255,53,200,.10), transparent 30%),
    #fff;
  box-shadow:0 20px 56px rgba(8,45,115,.08);
}

.ar-video-grid {
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:22px;
  align-items:stretch;
}

.local-video-embed video {
  width:100%;
  height:100%;
  min-height:360px;
  object-fit:cover;
  display:block;
  border:0;
}

.ar-proof-copy {
  padding:24px;
  border:1px solid var(--line);
  border-radius:26px;
  background:
    radial-gradient(circle at right top, rgba(85,217,255,.16), transparent 42%),
    rgba(255,255,255,.92);
}

.ar-proof-copy h4 {
  margin:0 0 10px;
  color:var(--navy-deep);
  font-size:1.25rem;
}

.ar-proof-copy p {
  color:var(--muted);
  line-height:1.65;
}

.ar-gallery-grid {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:18px;
  margin:30px 0 38px;
}

.ar-gallery-grid figure {
  margin:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff;
  box-shadow:0 14px 38px rgba(8,45,115,.06);
}

.ar-gallery-grid img {
  display:block;
  width:100%;
  height:245px;
  object-fit:cover;
}

.ar-gallery-grid figcaption {
  padding:14px 16px 18px;
  color:var(--navy-deep);
  font-weight:850;
  line-height:1.35;
  font-size:.92rem;
}

@media (max-width: 1120px) {
  .ar-gallery-grid {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .ar-video-grid {
    grid-template-columns:1fr;
  }

  .local-video-embed video {
    min-height:260px;
  }
}

@media (max-width: 620px) {
  .ar-gallery-grid {
    grid-template-columns:1fr;
  }
}


/* Version 41: expanded SaaS Development Advice page */
.saas-proof-mosaic .mosaic-large img,
.saas-proof-mosaic > div:not(.mosaic-panel) img {
  width:100%;
  height:100%;
  object-fit:cover;
  padding:0;
  border-radius:0;
}

.saas-proof-mosaic .mosaic-panel {
  background:
    radial-gradient(circle at 0% 0%, rgba(85,217,255,.16), transparent 38%),
    linear-gradient(135deg, #ffffff, #eefaff);
  border:1px solid rgba(26,167,232,.22);
}

.saas-proof-mosaic .mosaic-panel span {
  color:var(--navy-deep);
}

.saas-support-grid article {
  background:
    radial-gradient(circle at right top, rgba(85,217,255,.12), transparent 42%),
    rgba(255,255,255,.94);
}

.saas-sector-panel {
  margin:30px 0;
  padding:clamp(24px, 4vw, 36px);
  border:1px solid rgba(26,167,232,.25);
  border-radius:30px;
  background:
    radial-gradient(circle at 0% 0%, rgba(85,217,255,.18), transparent 35%),
    radial-gradient(circle at 100% 100%, rgba(255,53,200,.10), transparent 35%),
    #fff;
  box-shadow:0 18px 46px rgba(8,45,115,.07);
}

.saas-sector-panel h3 {
  margin-top:0;
}

.sector-proof-list {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:14px 0 18px;
}

.sector-proof-list span {
  display:inline-flex;
  align-items:center;
  border:1px solid var(--line);
  border-radius:999px;
  padding:9px 13px;
  background:#fff;
  color:var(--navy-deep);
  font-weight:900;
  box-shadow:0 8px 22px rgba(8,45,115,.05);
}

.saas-sector-panel p {
  color:var(--muted);
  line-height:1.68;
  margin-bottom:0;
}


/* Version 42: expanded eBusiness & eCommerce page */
.ebusiness-proof-mosaic .mosaic-large img,
.ebusiness-proof-mosaic > div:not(.mosaic-panel) img {
  width:100%;
  height:100%;
  object-fit:cover;
  padding:0;
  border-radius:0;
}

.ebusiness-proof-mosaic .mosaic-panel {
  background:
    radial-gradient(circle at 0% 0%, rgba(85,217,255,.16), transparent 38%),
    linear-gradient(135deg, #ffffff, #eefaff);
  border:1px solid rgba(26,167,232,.22);
}

.ebusiness-proof-mosaic .mosaic-panel span {
  color:var(--navy-deep);
}

.ebusiness-support-grid article {
  background:
    radial-gradient(circle at right top, rgba(85,217,255,.12), transparent 42%),
    rgba(255,255,255,.94);
}

.ebusiness-credentials-panel {
  border-color:rgba(255,53,200,.20);
}


/* Version 43: expanded API Development Services page */
.api-proof-mosaic .mosaic-large img,
.api-proof-mosaic > div:not(.mosaic-panel) img {
  width:100%;
  height:100%;
  object-fit:cover;
  padding:0;
  border-radius:0;
}

.api-proof-mosaic .mosaic-panel {
  background:
    radial-gradient(circle at 0% 0%, rgba(85,217,255,.16), transparent 38%),
    linear-gradient(135deg, #ffffff, #eefaff);
  border:1px solid rgba(26,167,232,.22);
}

.api-proof-mosaic .mosaic-panel span {
  color:var(--navy-deep);
}

.api-support-grid article {
  background:
    radial-gradient(circle at right top, rgba(85,217,255,.12), transparent 42%),
    rgba(255,255,255,.94);
}

.api-credentials-panel {
  border-color:rgba(26,167,232,.28);
}


/* Version 44: expanded Hosting Assessment page */
.hosting-proof-mosaic .mosaic-large img,
.hosting-proof-mosaic > div:not(.mosaic-panel) img {
  width:100%;
  height:100%;
  object-fit:cover;
  padding:0;
  border-radius:0;
}

.hosting-proof-mosaic .mosaic-panel {
  background:
    radial-gradient(circle at 0% 0%, rgba(85,217,255,.16), transparent 38%),
    linear-gradient(135deg, #ffffff, #eefaff);
  border:1px solid rgba(26,167,232,.22);
}

.hosting-proof-mosaic .mosaic-panel span {
  color:var(--navy-deep);
}

.hosting-support-grid article {
  background:
    radial-gradient(circle at right top, rgba(85,217,255,.12), transparent 42%),
    rgba(255,255,255,.94);
}

.hosting-service-reference {
  display:grid;
  grid-template-columns:minmax(0, 1fr) 260px;
  gap:clamp(20px, 4vw, 36px);
  align-items:center;
  margin:30px 0;
  padding:clamp(24px, 4vw, 36px);
  border:1px solid rgba(26,167,232,.25);
  border-radius:30px;
  background:
    radial-gradient(circle at 0% 0%, rgba(85,217,255,.18), transparent 35%),
    radial-gradient(circle at 100% 100%, rgba(255,53,200,.10), transparent 35%),
    #fff;
  box-shadow:0 18px 46px rgba(8,45,115,.07);
}

.hosting-service-reference h3 {
  margin-top:0;
}

.hosting-service-reference p:not(.eyebrow) {
  color:var(--muted);
  line-height:1.68;
}

.hosting-service-reference figure {
  margin:0;
  justify-self:center;
  max-width:240px;
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 14px 36px rgba(8,45,115,.08);
}

.hosting-service-reference img {
  display:block;
  width:100%;
  height:auto;
}

.hosting-credentials-panel {
  border-color:rgba(26,167,232,.28);
}

@media (max-width: 900px) {
  .hosting-service-reference {
    grid-template-columns:1fr;
  }

  .hosting-service-reference figure {
    justify-self:start;
  }
}

/* Marketing, Funding & Sales page expansion */
.marketing-service-art {
  background:
    radial-gradient(circle at 74% 24%, rgba(255,53,200,.18), transparent 30%),
    radial-gradient(circle at 18% 78%, rgba(85,217,255,.18), transparent 34%),
    linear-gradient(135deg, #fff, #f5fbff 68%, #eef6ff);
}

.marketing-service-art img {
  width:min(92%, 520px);
  max-height:380px;
  object-fit:cover;
  border-radius:24px;
  box-shadow:0 24px 64px rgba(8,45,115,.16);
}

.marketing-mosaic .mosaic-large img,
.marketing-mosaic > div > img {
  object-fit:cover;
  padding:0;
  width:100%;
  height:100%;
}

.marketing-highlight-banner {
  display:grid;
  gap:10px;
  margin:34px 0 8px;
  padding:22px 24px;
  border-radius:24px;
  border:1px solid rgba(26,167,232,.24);
  background:
    radial-gradient(circle at right top, rgba(255,53,200,.12), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(242,251,255,.9));
  box-shadow:0 16px 40px rgba(8,45,115,.08);
}

.marketing-highlight-banner strong {
  color:var(--navy-deep);
  font-size:1.1rem;
}

.marketing-highlight-banner span {
  color:var(--muted);
  line-height:1.65;
}

.marketing-proof-grid {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:20px;
  margin:20px 0 34px;
}

.marketing-proof-card {
  display:grid;
  grid-template-rows:220px 1fr;
  border:1px solid var(--line);
  border-radius:26px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 18px 48px rgba(8,45,115,.08);
}

.marketing-proof-card img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.marketing-proof-card div {
  padding:24px;
}

.marketing-proof-card h4,
.marketing-logo-card h4 {
  margin:0 0 12px;
  color:var(--navy-deep);
  font-size:1.1rem;
}

.marketing-proof-card p,
.marketing-logo-card p {
  margin:0;
  color:var(--muted);
  line-height:1.68;
}

.marketing-logo-grid {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
  margin:22px 0 36px;
}

.marketing-logo-card {
  display:grid;
  grid-template-columns:110px 1fr;
  gap:18px;
  align-items:center;
  padding:20px;
  border-radius:24px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, #fff, #fbfdff);
  box-shadow:0 14px 36px rgba(8,45,115,.07);
}

.marketing-logo-mark {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:96px;
  border-radius:18px;
  padding:14px;
  border:1px solid rgba(8,45,115,.08);
}

.marketing-logo-mark.light-bg {
  background:linear-gradient(180deg, #fff, #f6fbff);
}

.marketing-logo-mark img {
  width:100%;
  height:auto;
  max-height:72px;
  object-fit:contain;
  display:block;
}

.marketing-photo-strip {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:16px;
  margin:26px 0 10px;
}

.marketing-photo-strip figure {
  margin:0;
  min-height:240px;
  border-radius:22px;
  overflow:hidden;
  border:1px solid var(--line);
  box-shadow:0 14px 32px rgba(8,45,115,.08);
  background:#fff;
}

.marketing-photo-strip img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

@media (max-width: 1120px) {
  .marketing-proof-grid,
  .marketing-logo-grid,
  .marketing-photo-strip {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .marketing-proof-grid,
  .marketing-logo-grid,
  .marketing-photo-strip {
    grid-template-columns:1fr;
  }

  .marketing-logo-card {
    grid-template-columns:1fr;
  }

  .marketing-logo-mark {
    max-width:180px;
  }

  .marketing-proof-card {
    grid-template-rows:210px 1fr;
  }
}


/* v46 board game development page */
.boardgame-hero-art img {
  width:min(90%, 500px);
  max-height:460px;
  object-fit:contain;
  border-radius:24px;
  box-shadow:0 24px 64px rgba(8,45,115,.16);
}

.boardgame-mosaic .mosaic-large img,
.boardgame-mosaic > div > img {
  object-fit:cover;
  padding:0;
  width:100%;
  height:100%;
}

.boardgame-proof-grid {
  margin-top:18px;
}

.board-stage-grid {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
  margin:22px 0 34px;
}

.board-stage-card {
  padding:24px;
  border-radius:24px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, #fff, #fbfdff);
  box-shadow:0 14px 36px rgba(8,45,115,.07);
}

.board-stage-card h4 {
  margin:0 0 12px;
  color:var(--navy-deep);
  font-size:1.08rem;
}

.board-stage-card p {
  margin:0;
  color:var(--muted);
  line-height:1.68;
}

.boardgame-photo-strip img[src$="boardgame-hitl-tokens.png"],
.boardgame-photo-strip img[src$="boardgame-hitl-secrets.png"] {
  object-fit:contain;
  background:#fff;
}

.gamecrowd-callout {
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:24px;
  align-items:center;
  margin:36px 0 8px;
  padding:28px;
  border-radius:30px;
  border:1px solid rgba(26,167,232,.24);
  background:
    radial-gradient(circle at right top, rgba(85,217,255,.18), transparent 32%),
    radial-gradient(circle at left bottom, rgba(255,53,200,.10), transparent 30%),
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(242,251,255,.92));
  box-shadow:0 18px 44px rgba(8,45,115,.08);
}

.gamecrowd-callout h3 {
  margin:4px 0 12px;
}

.gamecrowd-callout p {
  margin:0;
}

.gamecrowd-callout-actions {
  display:grid;
  gap:12px;
  min-width:240px;
}

@media (max-width: 1120px) {
  .board-stage-grid {
    grid-template-columns:1fr;
  }
}

@media (max-width: 820px) {
  .gamecrowd-callout {
    grid-template-columns:1fr;
  }
  .gamecrowd-callout-actions {
    min-width:0;
  }
}


/* v48 premium polish for Board Game Development page */
.boardgame-hero-art {
  background:
    radial-gradient(circle at 20% 24%, rgba(85,217,255,.24), transparent 30%),
    radial-gradient(circle at 82% 74%, rgba(255,53,200,.15), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, #f1fbff 56%, #fff5fc 100%);
}

.boardgame-hero-art img[src$="boardgame-development-premium-hero.jpg"] {
  width:min(94%, 620px);
  max-height:520px;
  object-fit:contain;
  border-radius:28px;
  box-shadow:0 28px 76px rgba(8,45,115,.18);
}

.boardgame-mosaic .mosaic-large {
  background:linear-gradient(135deg, #ffffff, #f4fbff);
}

.boardgame-mosaic .mosaic-large img {
  object-fit:cover;
  object-position:center center;
  padding:0;
}

.boardgame-mosaic > div:nth-child(2) {
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    radial-gradient(circle at 50% 50%, rgba(85,217,255,.13), transparent 65%),
    #ffffff;
}

.boardgame-mosaic > div:nth-child(2) img {
  object-fit:contain;
  padding:18px;
  max-height:100%;
}

.boardgame-mosaic .mosaic-panel {
  background:
    radial-gradient(circle at right top, rgba(255,53,200,.10), transparent 40%),
    linear-gradient(135deg, #ffffff, #eefaff) !important;
}

.boardgame-production-panel {
  display:grid;
  grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr);
  gap:24px;
  align-items:center;
  margin:34px 0;
  padding:clamp(24px, 4vw, 34px);
  border-radius:32px;
  border:1px solid rgba(26,167,232,.24);
  background:
    radial-gradient(circle at left bottom, rgba(85,217,255,.16), transparent 34%),
    radial-gradient(circle at right top, rgba(255,53,200,.10), transparent 34%),
    #fff;
  box-shadow:0 18px 48px rgba(8,45,115,.08);
}

.boardgame-production-copy h3 {
  margin:4px 0 14px;
}

.boardgame-production-copy p:not(.eyebrow) {
  color:var(--muted);
  line-height:1.68;
}

.boardgame-production-panel figure {
  margin:0;
  overflow:hidden;
  border-radius:26px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:0 18px 42px rgba(8,45,115,.08);
}

.boardgame-production-panel img {
  display:block;
  width:100%;
  height:auto;
}

.boardgame-readiness-grid {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
  margin:26px 0 34px;
}

.boardgame-readiness-grid article {
  padding:24px;
  border-radius:24px;
  border:1px solid var(--line);
  background:
    radial-gradient(circle at right top, rgba(85,217,255,.12), transparent 40%),
    linear-gradient(180deg, #fff, #fbfdff);
  box-shadow:0 14px 36px rgba(8,45,115,.07);
}

.boardgame-readiness-grid h4 {
  margin:0 0 14px;
  color:var(--navy-deep);
}

.boardgame-readiness-grid ul {
  margin:0;
  padding-left:20px;
  color:var(--muted);
  line-height:1.65;
}

.boardgame-readiness-grid li + li {
  margin-top:8px;
}

.gamecrowd-callout {
  grid-template-columns:180px minmax(0, 1fr) auto;
  background:
    radial-gradient(circle at right top, rgba(12,204,145,.18), transparent 32%),
    linear-gradient(135deg, #071211 0%, #06275d 100%);
  border-color:rgba(85,217,255,.28);
}

.gamecrowd-callout .eyebrow,
.gamecrowd-callout h3,
.gamecrowd-callout p {
  color:#fff;
}

.gamecrowd-callout-logo {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:108px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.24);
}

.gamecrowd-callout-logo img {
  width:100%;
  max-width:150px;
  height:auto;
  object-fit:contain;
}

@media (max-width: 1120px) {
  .boardgame-production-panel,
  .gamecrowd-callout {
    grid-template-columns:1fr;
  }

  .boardgame-readiness-grid {
    grid-template-columns:1fr;
  }

  .gamecrowd-callout-logo {
    max-width:220px;
  }
}


/* v49 readability improvements for board game development page */
.boardgame-hero-art img[src$="boardgame-development-premium-hero-v2.jpg"] {
  width:min(94%, 560px);
  max-height:480px;
  object-fit:contain;
}

.boardgame-process-steps {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:14px;
}

.process-step-card {
  display:grid;
  gap:10px;
  padding:14px;
  border-radius:22px;
  background:linear-gradient(180deg, #fff, #fbfdff);
  border:1px solid var(--line);
  box-shadow:0 12px 28px rgba(8,45,115,.07);
}

.process-step-card img {
  width:100%;
  height:118px;
  object-fit:cover;
  border-radius:16px;
  background:#fff;
}

.process-step-card:nth-child(2) img,
.process-step-card:nth-child(4) img {
  object-fit:contain;
  padding:8px;
}

.process-step-card h4 {
  margin:2px 0 0;
  font-size:1rem;
  color:var(--navy-deep);
}

.process-step-card p {
  margin:0;
  color:var(--muted);
  font-size:.92rem;
  line-height:1.5;
}

.mini-service-link img[src$="games-call-badge.svg"] {
  height:104px;
}

@media (max-width: 1120px) {
  .boardgame-process-steps {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .boardgame-process-steps {
    grid-template-columns:1fr;
  }
}


/* v50 usability and SEO support: breadcrumbs, skip link, focus states */
.skip-link {
  position:absolute;
  left:24px;
  top:-80px;
  z-index:9999;
  padding:12px 18px;
  border-radius:999px;
  background:var(--navy-deep, #06275d);
  color:#fff;
  font-weight:800;
  text-decoration:none;
  box-shadow:0 14px 34px rgba(8,45,115,.25);
  transition:top .18s ease;
}

.skip-link:focus {
  top:18px;
  outline:3px solid #59d9ff;
  outline-offset:3px;
}

.breadcrumb-nav {
  max-width:var(--max, 1220px);
  margin:0 auto;
  padding:14px clamp(24px, 5vw, 56px) 0;
}

.breadcrumbs {
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:0;
  padding:0;
  color:var(--muted, #54709a);
  font-size:.92rem;
  font-weight:700;
}

.breadcrumbs li {
  display:flex;
  align-items:center;
  min-height:28px;
}

.breadcrumbs li + li::before {
  content:"/";
  margin-right:8px;
  color:rgba(8,45,115,.35);
}

.breadcrumbs a {
  color:var(--navy, #082d73);
  text-decoration:none;
  border-radius:999px;
  padding:4px 8px;
}

.breadcrumbs a:hover {
  background:rgba(85,217,255,.14);
  color:var(--navy-deep, #06275d);
}

.breadcrumbs [aria-current="page"] {
  color:var(--muted, #54709a);
  padding:4px 8px;
}

a:focus-visible,
button:focus-visible,
summary:focus-visible {
  outline:3px solid #59d9ff;
  outline-offset:3px;
  border-radius:10px;
}

.site-nav a[aria-current="page"] {
  color:var(--navy-deep, #06275d);
  background:rgba(85,217,255,.15);
  box-shadow:inset 0 0 0 1px rgba(26,167,232,.18);
}

@media (max-width: 760px) {
  .breadcrumb-nav {
    padding-top:10px;
  }

  .breadcrumbs {
    font-size:.84rem;
  }
}


/* v51 statutory footer information */
.company-legal-block {
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.18);
  display:grid;
  gap:7px;
}

.company-legal-block p {
  margin:0;
  color:#d8ecff;
  font-size:.9rem;
  line-height:1.45;
}

.company-legal-block strong {
  color:#fff;
}

.rich-footer .small {
  color:#d8ecff;
}

@media (max-width: 900px) {
  .company-legal-block p {
    font-size:.86rem;
  }
}


/* v52 Privacy Policy, Cookie Policy and cookie controls */
.legal-content-section {
  background:#fff;
}

.policy-document {
  max-width:1100px;
  margin:0 auto;
  padding:clamp(28px, 4vw, 56px);
  border:1px solid var(--line);
  border-radius:36px;
  background:linear-gradient(180deg, #fff, var(--soft));
  box-shadow:0 20px 60px rgba(8,45,115,.08);
}

.policy-document h2 {
  margin-top:34px;
  font-size:clamp(1.45rem, 3vw, 2rem);
}

.policy-document h2:first-child {
  margin-top:0;
}

.policy-document p,
.policy-document li {
  color:var(--muted);
  line-height:1.68;
  font-size:1.03rem;
}

.policy-document a {
  color:var(--blue);
  font-weight:850;
}

.policy-updated {
  display:inline-flex;
  margin-top:14px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(85,217,255,.14);
  color:var(--navy-deep) !important;
  font-weight:850;
}

.policy-info-grid {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
  margin:22px 0 10px;
}

.policy-info-grid div {
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
}

.policy-info-grid strong,
.policy-info-grid span {
  display:block;
}

.policy-info-grid strong {
  color:var(--navy-deep);
  margin-bottom:5px;
}

.policy-info-grid span {
  color:var(--muted);
  line-height:1.45;
}

.policy-table-wrap {
  overflow-x:auto;
  margin:20px 0;
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
}

.policy-table {
  width:100%;
  border-collapse:collapse;
  min-width:720px;
}

.policy-table th,
.policy-table td {
  padding:16px 18px;
  border-bottom:1px solid var(--line);
  text-align:left;
  vertical-align:top;
  color:var(--muted);
  line-height:1.55;
}

.policy-table th {
  color:var(--navy-deep);
  background:var(--ice);
  font-weight:950;
}

.policy-table tr:last-child td {
  border-bottom:0;
}

.important-policy-note {
  padding:18px 20px;
  border-left:5px solid var(--pink);
  border-radius:18px;
  background:#fff;
  color:var(--navy-deep) !important;
}

.cookie-consent-panel {
  position:fixed;
  left:clamp(16px, 3vw, 32px);
  right:clamp(16px, 3vw, 32px);
  bottom:clamp(16px, 3vw, 32px);
  z-index:9998;
}

.cookie-consent-card {
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:22px;
  align-items:center;
  padding:22px;
  border:1px solid rgba(85,217,255,.25);
  border-radius:28px;
  background:
    radial-gradient(circle at right top, rgba(255,53,200,.10), transparent 34%),
    linear-gradient(135deg, #fff, #f4fbff);
  box-shadow:0 22px 68px rgba(8,45,115,.22);
}

.cookie-consent-copy h2 {
  margin:0 0 8px;
  font-size:1.55rem;
}

.cookie-consent-copy p {
  color:var(--muted);
  line-height:1.55;
  margin:0 0 8px;
}

.cookie-consent-copy a {
  color:var(--blue);
  font-weight:900;
}

.cookie-consent-actions,
.cookie-dialog-actions {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
}

.cookie-preferences-dialog {
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(3,18,52,.58);
}

.cookie-preferences-dialog[hidden] {
  display:none;
}

.cookie-dialog-card {
  width:min(620px, 100%);
  padding:clamp(24px, 4vw, 36px);
  border-radius:30px;
  background:#fff;
  box-shadow:0 22px 78px rgba(0,0,0,.32);
}

.cookie-dialog-card h2 {
  margin-top:0;
}

.cookie-dialog-card p {
  color:var(--muted);
  line-height:1.6;
}

.cookie-dialog-card label {
  display:flex;
  gap:12px;
  align-items:center;
  padding:14px 0;
  border-top:1px solid var(--line);
  color:var(--navy-deep);
  font-weight:850;
}

.cookie-dialog-card input {
  width:18px;
  height:18px;
}

@media (max-width: 860px) {
  .policy-info-grid,
  .cookie-consent-card {
    grid-template-columns:1fr;
  }

  .cookie-consent-actions,
  .cookie-dialog-actions {
    justify-content:flex-start;
  }
}


/* v53: human-readable footer email to reduce bot scraping */
.human-email {
  color:#d8ecff;
  font-weight:800;
  letter-spacing:.01em;
}


/* v55: TidyCal inline booking panel */
.tidycal-embed {
  min-height:540px;
  overflow:hidden;
}

.tidycal-placeholder {
  min-height:520px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:10px;
  padding:32px;
  text-align:center;
  color:var(--navy-deep);
  background:
    radial-gradient(circle at center, rgba(85,217,255,.16), transparent 34%),
    linear-gradient(135deg, #fff, #f4fbff);
  border-radius:24px;
  border:1px dashed rgba(26,167,232,.35);
}

.tidycal-placeholder strong {
  font-size:1.2rem;
}

.tidycal-placeholder span {
  color:var(--muted);
}

.tidycal-inline-frame {
  width:100%;
  min-height:720px;
  border:0;
  display:block;
  background:#fff;
  border-radius:24px;
}

.tidycal-external-link {
  margin-top:14px;
}

.booking-link.is-active-booking {
  outline:3px solid #59d9ff;
  outline-offset:4px;
  box-shadow:0 12px 34px rgba(26,167,232,.22);
}

@media (max-width: 760px) {
  .tidycal-embed {
    min-height:620px;
  }

  .tidycal-inline-frame {
    min-height:820px;
  }
}


/* v57: full-width TidyCal embedded booking panel */
.tidycal-shell {
  grid-template-columns:minmax(240px, 300px) minmax(0, 1fr);
  gap:30px;
}

.tidycal-embed-host {
  min-height:760px;
  width:100%;
  overflow:hidden;
  border-radius:24px;
  background:#fff;
}

.tidycal-embed-host .tidycal-placeholder {
  min-height:720px;
}

.tidycal-embed-host .tidycal-embed,
.tidycal-embed-host .tidycal-embed-full,
.tidycal-embed-host iframe {
  width:100% !important;
  max-width:none !important;
  min-height:760px !important;
  border:0 !important;
  display:block;
  border-radius:24px;
  background:#fff;
}

.tidycal-inline-frame {
  width:100% !important;
  max-width:none !important;
  min-height:760px !important;
}

@media (max-width: 920px) {
  .tidycal-shell {
    grid-template-columns:1fr;
  }

  .tidycal-embed-host,
  .tidycal-embed-host .tidycal-placeholder,
  .tidycal-embed-host .tidycal-embed,
  .tidycal-embed-host .tidycal-embed-full,
  .tidycal-embed-host iframe {
    min-height:820px !important;
  }
}


/* v58: reliable full-area TidyCal iframe switching */
.tidycal-shell {
  grid-template-columns:minmax(240px, 300px) minmax(0, 1fr);
  align-items:stretch;
}

.tidycal-embed-host {
  width:100%;
  min-width:0;
  min-height:820px;
  overflow:hidden;
  border-radius:24px;
  background:#fff;
  position:relative;
}

.tidycal-inline-frame-full,
.tidycal-embed-host iframe.tidycal-inline-frame-full {
  width:100% !important;
  height:820px !important;
  min-height:820px !important;
  max-width:none !important;
  border:0 !important;
  display:block !important;
  border-radius:24px;
  background:#fff;
}

.tidycal-loading {
  position:absolute;
  inset:0;
  z-index:1;
  display:grid;
  place-items:center;
  align-content:center;
  gap:10px;
  padding:30px;
  text-align:center;
  color:var(--navy-deep);
  background:
    radial-gradient(circle at center, rgba(85,217,255,.16), transparent 34%),
    linear-gradient(135deg, #fff, #f4fbff);
}

.tidycal-loading strong {
  font-size:1.18rem;
}

.tidycal-loading span {
  color:var(--muted);
}

@media (max-width: 920px) {
  .tidycal-shell {
    grid-template-columns:1fr;
  }

  .tidycal-embed-host,
  .tidycal-inline-frame-full,
  .tidycal-embed-host iframe.tidycal-inline-frame-full {
    height:900px !important;
    min-height:900px !important;
  }
}


/* v59: final TidyCal panel sizing override */
#tidycal-embed-panel.tidycal-shell {
  display:grid;
  grid-template-columns:minmax(240px, 300px) minmax(0, 1fr) !important;
  align-items:stretch !important;
  gap:30px !important;
  width:100%;
}

#tidycal-embed-panel .tidycal-copy {
  min-width:0;
}

#tidycal-embed-panel .tidycal-embed-host {
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  min-height:900px !important;
  overflow:hidden !important;
}

#tidycal-embed-panel .tidycal-embed-host iframe,
#tidycal-embed-panel iframe.tidycal-inline-frame,
#tidycal-embed-panel iframe.tidycal-inline-frame-full {
  display:block !important;
  width:100% !important;
  min-width:100% !important;
  max-width:none !important;
  height:900px !important;
  min-height:900px !important;
  border:0 !important;
}

@media (max-width: 920px) {
  #tidycal-embed-panel.tidycal-shell {
    grid-template-columns:1fr !important;
  }

  #tidycal-embed-panel .tidycal-embed-host,
  #tidycal-embed-panel .tidycal-embed-host iframe,
  #tidycal-embed-panel iframe.tidycal-inline-frame,
  #tidycal-embed-panel iframe.tidycal-inline-frame-full {
    height:980px !important;
    min-height:980px !important;
  }
}


/* v60: Stripe payment support block helper text */
.stripe-helper-text {
  margin:12px 0 0;
  color:var(--muted);
  font-size:.92rem;
  line-height:1.45;
  text-align:center;
}
