/* HAZHISTORIA visual QA overrides — mobile first fixes */

.area-cards,
.service-cards,
.principle-grid,
.deliverable-grid,
.review-grid,
.legacy-grid {
  row-gap: 56px;
}

.area-card,
.service-card,
.principle-grid article,
.deliverable-grid article,
.legacy-card {
  height: 100%;
}

.legacy-section + .legacy-section {
  border-top: 1px solid rgba(55,94,119,.08);
}

.legacy-inner > p + p {
  margin-top: 1rem;
}

.legacy-card p:last-child,
.area-card p:last-child,
.service-card p:last-child {
  margin-bottom: 0;
}

.hero-media img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.hero-media img[src*="storyset"] {
  object-fit: contain;
}

/* Footer */
.footer-cta {
  padding: 64px var(--gutter);
  text-align: center;
  background: var(--soft);
  border-top: 1px solid rgba(55,94,119,.08);
}

.footer-cta > * {
  width: min(100%, 860px);
  margin-inline: auto;
}

.footer-cta__kicker {
  margin-bottom: 10px;
  color: var(--blue);
  font-family: 'Open Sans Condensed','Arial Narrow',sans-serif;
  font-size: .88rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.footer-cta h2 { margin-bottom: 16px; }
.footer-cta > p:last-of-type { max-width: 680px; color: var(--muted); }
.footer-cta__actions { display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px;margin-top:28px; }
.footer-cta__whatsapp { display:inline-flex;align-items:center;gap:8px;min-height:52px;padding:13px 6px;color:var(--blue);font-weight:700;text-decoration:none; }

.site-footer { color:#333;background:#fff;border-top:1px solid var(--line); }
.site-footer a,.site-footer button { overflow-wrap:anywhere; }
.footer-grid--enhanced { grid-template-columns:minmax(280px,1.45fr) repeat(3,minmax(150px,.65fr));align-items:start; }
.footer-grid > div > a,.footer-grid > div > button,.footer-links > a { margin-top:10px; }
.footer-grid h3 { color:var(--blue);font-size:1.1rem; }
.footer-logo { display:inline-block; }
.footer-brand img { margin-bottom:22px; }
.footer-brand p { max-width:520px; }
.footer-brand strong { color:var(--blue); }
.footer-links { display:flex;flex-direction:column; }
.footer-links a,.footer-contact a,.footer-studio a { text-decoration-thickness:1px;text-decoration-color:rgba(55,94,119,.35); }
.footer-social { display:flex;flex-wrap:wrap;gap:10px;margin-top:24px; }
.footer-social a { display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 11px;border:1px solid var(--line);border-radius:5px;color:var(--blue);background:#fff;font-size:.82rem;font-weight:700;text-decoration:none; }
.footer-social img { width:18px;height:18px;object-fit:contain;margin:0; }
.footer-social a:hover,.footer-social a:focus-visible { background:var(--soft); }
.footer-bottom { display:flex;align-items:center;justify-content:space-between;gap:24px;width:min(100%,var(--max));margin:55px auto 0;padding-top:22px;border-top:1px solid var(--line);color:var(--muted);font-size:.8rem; }
.footer-bottom nav { display:flex;flex-wrap:wrap;gap:18px; }
.footer-bottom a { text-decoration:none; }
.link-button { padding:0;border:0;color:var(--blue);background:transparent;font:inherit;font-weight:700;text-align:left;cursor:pointer; }

/* Floating WhatsApp */
.whatsapp-float { position:fixed;z-index:220;right:24px;bottom:24px;display:grid;place-items:center;width:60px;height:60px;border:2px solid #fff;border-radius:50%;color:#fff;background:#25D366;box-shadow:0 10px 30px rgba(20,54,35,.22);transition:transform .18s ease,box-shadow .18s ease; }
.whatsapp-float img { width:34px;height:34px;object-fit:contain;filter:brightness(0) invert(1); }
.whatsapp-float:hover { transform:translateY(-2px);box-shadow:0 14px 34px rgba(20,54,35,.28); }
.whatsapp-float:focus-visible { outline:3px solid var(--gold);outline-offset:4px; }

/* Graphic design hub */
.design-hub-hero .hero-media { background:var(--soft);border-radius:8px;padding:28px; }
.design-hub-intro { padding-top:88px;padding-bottom:88px; }
.design-hub-intro__grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px;width:min(100%,1040px);margin:auto; }
.design-hub-intro__grid p { margin:0;color:#4e5559;font-size:1.02rem;line-height:1.8; }
.design-hub-services { gap:32px; }
.design-hub-services .service-card { min-height:320px;padding-top:58px; }
.design-hub-number { position:absolute;top:22px;left:28px;color:var(--gold);font-family:'Open Sans Condensed','Arial Narrow',sans-serif;font-weight:700; }
.design-hub-services p { color:var(--muted); }
.design-hub-services a { margin-top:auto; }
.design-hub-proof { background:#fff; }
.design-hub-projects small { color:var(--muted);font-size:.94rem;line-height:1.6; }
.design-hub-process .process-list { background:#fff; }
.design-hub-principles .principle-grid article { padding-top:34px; }
.design-hub-principles .principle-grid article::before { content:"";display:block;width:48px;height:3px;margin-bottom:24px;background:var(--gold); }
.design-hub-principles .principle-grid p { color:var(--muted); }

/* Reviews / Google profile */
.home-google-profile { display:inline-flex;align-items:center;min-height:40px;margin-right:auto;padding:8px 12px;border:1px solid var(--line);border-radius:5px;color:var(--blue);background:#fff;font-size:.82rem;font-weight:700;text-decoration:none; }

/* Cookie consent */
.cookie-panel { position:fixed;z-index:500;right:24px;bottom:24px;width:min(620px,calc(100vw - 48px));padding:24px;border:1px solid rgba(55,94,119,.16);border-radius:10px;background:#fff;box-shadow:0 18px 60px rgba(28,44,54,.16); }
.cookie-panel[hidden],.cookie-panel [hidden] { display:none!important; }
.cookie-panel > div { display:grid;gap:18px; }
.cookie-panel strong { display:block;color:var(--blue);font-family:'Open Sans Condensed','Arial Narrow',sans-serif;font-size:1.15rem;text-transform:uppercase; }
.cookie-panel p { margin:0;color:var(--muted);font-size:.9rem;line-height:1.55; }
.cookie-actions { display:flex;flex-wrap:wrap;gap:10px; }
.cookie-actions .button { min-height:44px;white-space:nowrap; }
.cookie-preferences { display:grid;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line); }
.cookie-preferences label { display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:14px 0;border-bottom:1px solid var(--line); }
.cookie-preferences label:last-child { border-bottom:0; }
.cookie-preferences label > span { display:grid;gap:2px; }
.cookie-preferences small { color:var(--muted);font-size:.78rem;line-height:1.4; }
.cookie-preferences input[type="checkbox"] { width:22px;height:22px;accent-color:var(--blue); }
.cookie-preferences input:disabled { opacity:.65; }

@media (max-width:1050px) {
  .footer-grid--enhanced { grid-template-columns:1.2fr repeat(2,1fr); }
  .footer-studio { grid-column:2 / -1; }
}

@media (max-width:720px) {
  :root { --gutter:20px; }
  .section-heading { margin-bottom:48px; }
  .section-heading h2,.legacy-heading h2 { font-size:clamp(1.75rem,8vw,2.15rem); }
  .area-cards,.service-cards,.principle-grid,.deliverable-grid,.review-grid,.legacy-grid { gap:54px; }
  .area-card,.service-card,.principle-grid article,.deliverable-grid article,.legacy-card { width:100%;min-width:0;margin:0; }
  .line-icon { top:-32px;width:70px;height:70px; }
  .story-row,.team-teaser { width:100%; }
  .project-row { grid-template-columns:34px minmax(0,1fr);gap:14px; }
  .project-row > a,.project-row > small:last-child { grid-column:2;justify-self:start; }
  .reviews-head,.reviews-head > div { align-items:flex-start;flex-direction:column; }
  .review-grid figure { padding:26px 0;border-right:0;border-bottom:1px solid var(--line); }
  .review-grid figure:last-child { border-bottom:0; }
  .team-names div { grid-template-columns:1fr;gap:4px; }
  .footer-cta { padding:50px var(--gutter); }
  .footer-cta h2 { max-width:340px;margin-inline:auto;font-size:1.8rem; }
  .footer-cta__actions { display:grid;grid-template-columns:1fr;gap:6px; }
  .footer-cta__actions .button,.footer-cta__whatsapp { width:100%;justify-content:center; }
  .site-footer { padding:46px var(--gutter) 22px; }
  .footer-grid--enhanced { grid-template-columns:1fr;gap:0; }
  .footer-studio { grid-column:auto; }
  .footer-grid > div,.footer-grid > nav { padding:28px 0;border-bottom:1px solid var(--line); }
  .footer-grid > div:first-child { padding-top:0; }
  .footer-grid > div:last-child { border-bottom:0; }
  .footer-grid h3 { margin-bottom:12px;font-size:1.2rem; }
  .footer-grid p,.footer-grid a,.footer-grid button { font-size:.92rem;line-height:1.55; }
  .footer-bottom { align-items:flex-start;flex-direction:column;gap:14px;margin-top:18px;padding-top:20px;font-size:.78rem; }
  .footer-bottom nav { gap:12px 16px; }
  .home-google-profile { width:100%;justify-content:center;margin:0 0 8px; }
  .whatsapp-float { right:16px;bottom:16px;width:56px;height:56px; }
  .whatsapp-float img { width:31px;height:31px; }
  .design-hub-hero .hero-media { padding:18px; }
  .design-hub-intro { padding-top:68px;padding-bottom:68px; }
  .design-hub-intro__grid { grid-template-columns:1fr;gap:18px; }
  .design-hub-services { gap:28px; }
  .design-hub-services .service-card { min-height:0; }
  .cookie-panel { left:10px;right:10px;bottom:10px;width:auto;max-height:calc(100dvh - 20px);overflow-y:auto;padding:18px;border-radius:8px; }
  .cookie-actions { display:grid;grid-template-columns:1fr;width:100%; }
  .cookie-actions .button { width:100%;min-height:48px; }
  .cookie-preferences label { gap:12px; }
}

@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important; }
}
