/* Shared footer for the homepage and all case studies. */
.preview-footer { max-width:none; margin:0; }
.preview-footer { background:#eef0e9; border-top:1px solid var(--border); padding:48px 32px 100px; }
.preview-footer-inner { max-width:1140px; margin:auto; display:grid; grid-template-columns:2fr 1fr auto; gap:40px; align-items:start; }
.preview-footer h2 { font:400 2rem/1.2 var(--font-serif); margin:0 0 12px; }
.preview-footer p { font-size:15px; margin:0 0 18px; color:var(--text-secondary); }
.preview-footer-links { display:flex; gap:20px; flex-wrap:wrap; }
.preview-footer a { font-size:16px; color:var(--green); text-decoration:none; }
.preview-footer a:hover { text-decoration:underline; }
.preview-footer a:focus-visible { outline:2px solid var(--green); outline-offset:4px; }
.preview-footer-label { display:block; font-size:11px; text-transform:uppercase; letter-spacing:.08em; margin:6px 0 18px; color:var(--text-secondary); }
.preview-footer-credit { font-size:13px; padding-top:6px; }
.preview-footer-credit span { display:block; font-size:13px; color:var(--text-secondary); margin-top:8px; }
html.game-case-study .preview-footer { display:none; }
@media(max-width:700px) {
.preview-footer-inner { grid-template-columns:1fr; gap:28px; }
.preview-footer { padding:36px 24px 100px; }
}
.preview-footer .footer-contact-icon { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:4px; }
.preview-footer .footer-contact-icon:hover { background:var(--green-light); }
.preview-footer .footer-contact-icon svg { display:block; }
.preview-footer .footer-contact-icon { border-radius:50%; border:1px solid var(--green); }
@media (hover:hover) and (pointer:fine) {
.preview-footer .footer-contact-icon:hover { background:#245f2e; border-color:#245f2e; color:#fff; }
}
.preview-footer .footer-contact-icon:focus-visible { background:#245f2e; border-color:#245f2e; color:#fff; outline:2px solid var(--green); outline-offset:4px; }
.preview-footer { background:transparent; padding:28px 32px 96px; }
.preview-footer-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.preview-footer-links { gap:12px; }
.preview-footer-credit { padding:0; font-size:13px; color:var(--text-secondary); }
@media(max-width:700px) {
.preview-footer { padding:24px 24px 96px; }
.preview-footer-inner { gap:16px; }
}
.preview-footer-credit { text-align:right; max-width:420px; line-height:1.6; }
.preview-footer-credit strong { font-size:13px; font-weight:500; color:var(--text); }
.preview-footer-credit span { font-size:13px; margin-top:2px; }
@media(max-width:600px) {
.preview-footer-inner { flex-direction:column; align-items:flex-start; gap:20px; }
.preview-footer-credit { text-align:left; }
}
.preview-footer .preview-footer-credit strong { font-size:13px; font-weight:400; color:var(--text-secondary); }
.preview-footer .footer-invitation h2 { font:400 1.5rem/1.3 var(--font-serif); margin:0 0 16px; color:var(--text); }
.preview-footer { padding-top:48px; }
.preview-footer .footer-work-invitation { display:flex; align-items:center; justify-content:space-between; gap:24px; max-width:1140px; margin:0 auto 40px; padding:0 0 40px; color:var(--text); font:400 clamp(36px,6vw,76px)/1.15 var(--font-serif); text-decoration:none; }
.preview-footer .footer-work-invitation:hover { color:var(--green); }
.preview-footer-inner { border-top:1px solid var(--border); padding-top:24px; }
.preview-footer .preview-footer-links a { font-size:16px; }
.preview-footer .preview-footer-credit strong { font-size:13px; }
@media(max-width:600px) {
.preview-footer .footer-work-invitation { margin-bottom:24px; padding-bottom:24px; }
}
.preview-footer .footer-invitation { width:max-content; max-width:100%; }
.preview-footer .footer-invitation .preview-footer-links { gap:40px; flex-wrap:wrap; }
.preview-footer .footer-invitation .footer-work-invitation { display:block; margin:0 0 10px; padding:0; font-size:36px; white-space:nowrap; }
.preview-footer-inner { align-items:end; }
@media(max-width:600px) {
.preview-footer-inner { align-items:flex-start; }
.preview-footer .footer-invitation .preview-footer-links { gap:24px; }
}
.preview-footer .footer-invitation .footer-work-invitation { margin-bottom:2px; cursor:default; }
.preview-footer .footer-work-invitation:hover { color:var(--text); }
.preview-footer, .preview-footer-inner { border-top:0; }
.preview-footer .footer-invitation .preview-footer-links { gap:30px; }
.preview-footer .footer-invitation .preview-footer-links { gap:0; align-items:center; }
.preview-footer .footer-invitation .preview-footer-links a + a { margin-left:15px; padding-left:15px; border-left:1px solid var(--border); }
.preview-footer .footer-invitation .footer-work-invitation { margin-bottom:10px; }
.preview-footer .footer-invitation .footer-work-invitation { border-bottom:1px solid var(--border); padding-bottom:10px; margin-bottom:10px; }
.preview-footer-inner { position:relative; }
.preview-footer-inner::after { content:''; position:absolute; left:0; right:0; bottom:calc(1.6 * 14px + 10px); height:1px; background:var(--border); pointer-events:none; }
.preview-footer .footer-invitation .footer-work-invitation { border-bottom:0; }
@media(max-width:600px) {
.preview-footer-inner::after { display:none; }
.preview-footer .footer-invitation .footer-work-invitation { border-bottom:1px solid var(--border); }
}
.preview-footer .footer-invitation .footer-work-invitation { position:relative; top:5px; }
.preview-footer .footer-invitation .preview-footer-links a + a { border-left:0; }
.preview-footer-inner { display:grid; grid-template-columns:max-content minmax(0,1fr) 110px; align-items:end; gap:24px; }
.preview-footer-credit { justify-self:center; text-align:center; max-width:none; white-space:nowrap; }
@media(max-width:700px) {
.preview-footer-inner { grid-template-columns:1fr; gap:20px; }
.preview-footer-credit { justify-self:start; white-space:normal; text-align:left; }
}
.preview-footer { padding:28px 32px 20px; }
.preview-footer-inner { max-width:1140px; grid-template-columns:max-content minmax(0,1fr) 120px; gap:40px; padding-top:0; }
.preview-footer-credit { justify-self:start; align-self:end; padding-bottom:1px; }
.preview-footer-inner::after { right:120px; bottom:calc(1.6 * 14px + 10px); }
@media(max-width:700px) {
.preview-footer { padding:24px 24px 88px; }
.preview-footer-inner { grid-template-columns:1fr; gap:18px; }
.preview-footer-inner::after { display:none; }
.preview-footer .footer-invitation .footer-work-invitation { border-bottom:1px solid var(--border); }
}
.preview-footer-credit { justify-self:end; text-align:right; }
@media(max-width:700px) {
.preview-footer-credit { justify-self:start; text-align:left; }
}
.preview-footer .footer-invitation .footer-work-invitation { top:8px; }
.preview-footer-credit { grid-column:2 / -1; justify-self:end; }
@media(max-width:700px) {
.preview-footer-credit { grid-column:1; }
}
@media(min-width:701px) {
.preview-footer-inner { margin-left:0; margin-right:120px; width:calc(100% - 120px); max-width:1140px; grid-template-columns:max-content minmax(0,1fr); }
.preview-footer-inner::after { right:0; }
.preview-footer-credit { grid-column:2; justify-self:end; }
}
@media(max-width:700px) {
.preview-footer { padding:24px 24px 34px; }
.preview-footer-inner { width:100%; margin:0; grid-template-columns:minmax(0,1fr); gap:28px; }
.preview-footer .preview-footer-credit { grid-column:1; justify-self:start; text-align:left; padding:0 110px 0 0; white-space:normal; line-height:1.5; }
}
.footer-credit-break { display:none; }
@media(max-width:700px) {
.preview-footer .preview-footer-credit { justify-self:stretch; text-align:center; padding-right:110px; }
.footer-credit-break { display:block; }
.preview-footer { padding-bottom:25px; }
}
@media(max-width:480px) {
.preview-footer .footer-invitation { width:100%; }
.preview-footer .footer-invitation .footer-work-invitation { font-size:26px!important; white-space:normal; top:0; padding-bottom:10px; }
.preview-footer .footer-invitation .preview-footer-links { flex-direction:column; align-items:flex-start; gap:12px; }
.preview-footer .footer-invitation .preview-footer-links a + a { margin-left:0; padding-left:0; }
.preview-footer .preview-footer-credit { text-align:left; }
}
@media(max-width:480px) {
.preview-footer-inner { gap:18px; }
.preview-footer .preview-footer-credit { line-height:1.25; }
.preview-footer .preview-footer-credit strong { line-height:1.25; }
}
@media(max-width:700px) {
.preview-footer .preview-footer-credit { position:relative; top:-5px; }
}
.preview-footer .preview-footer-credit strong .credit-phrase {
 display:inline; font:inherit; color:inherit; margin:0; white-space:nowrap;
}
@media(max-width:700px) {
.preview-footer .preview-footer-credit { white-space:normal; }
}
@media(max-width:700px) {
.preview-footer .footer-invitation .footer-work-invitation { margin-bottom:18px; }
.preview-footer .preview-footer-credit { text-align:left; }
}
@media(max-width:700px) {
.preview-footer .footer-invitation { width:100%; }
.preview-footer .footer-invitation .footer-work-invitation { width:100%; }
}
@media(min-width:1181px) {
.preview-footer {
  padding-left:calc((100vw - 1180px) / 2 + 32px);
  padding-right:152px;
 }
.preview-footer-inner {
  width:100%; max-width:none; margin-left:0; margin-right:0;
 }
.preview-footer-inner::after { right:0; }
}
@media(min-width:1181px) {
.preview-footer-inner::after { left:calc(-1 * ((100vw - 1180px) / 2 + 32px)); }
}
.preview-footer .preview-footer-credit .footer-copyright { display:block; font-size:13px; font-weight:400; color:var(--text-secondary); margin:0 0 3px; }
.preview-footer .preview-footer-credit {
 display:flex; flex-wrap:wrap; align-items:baseline; justify-content:flex-end;
 gap:4px 16px; max-width:none;
}
.preview-footer .preview-footer-credit .footer-copyright { margin:0; white-space:nowrap; }
.preview-footer .preview-footer-credit strong { font-size:13px; font-weight:400; }
@media(max-width:700px) {
.preview-footer .preview-footer-credit { justify-content:flex-start; gap:4px 12px; }
}
@media(min-width:701px) {
.preview-footer .preview-footer-credit { column-gap:32px; }
}
@media(min-width:701px) and (max-width:1100px) {
.preview-footer-inner { grid-template-columns:minmax(0,1fr); gap:20px; }
.preview-footer .footer-invitation { width:100%; }
.preview-footer .footer-invitation .footer-work-invitation {
  border-bottom:1px solid var(--border); padding-bottom:10px; margin-bottom:18px;
 }
.preview-footer-inner::after { display:none; }
.preview-footer .preview-footer-credit {
  grid-column:1; justify-self:end; justify-content:flex-end;
 }
}
@media(min-width:701px) and (max-width:1100px) {
.preview-footer .preview-footer-credit {
  flex-direction:column; align-items:flex-end; text-align:right; gap:4px;
 }
}
@media(min-width:701px) and (max-width:1100px) {
.preview-footer .preview-footer-credit {
  flex-direction:row; align-items:baseline; justify-self:start;
  justify-content:flex-start; text-align:left; gap:4px 32px;
 }
}
@media(min-width:481px) {
.preview-footer .preview-footer-credit { column-gap:32px; }
}
@media(min-width:900px) and (max-width:1100px) {
.preview-footer-inner {
  grid-template-columns:max-content minmax(0,1fr); gap:24px;
  align-items:end;
 }
.preview-footer .footer-invitation { width:max-content; }
.preview-footer .footer-invitation .footer-work-invitation {
  border-bottom:0; margin-bottom:10px;
 }
.preview-footer-inner::after { display:block; left:0; right:0; }
.preview-footer .preview-footer-credit {
  grid-column:2; justify-self:end; flex-direction:row;
  justify-content:flex-end; text-align:right; column-gap:32px;
 }
}
@media(max-width:700px) {
.preview-footer .preview-footer-links a {
  font-size:16px; min-height:44px;
  display:inline-flex; align-items:center;
 }
.preview-footer .preview-footer-credit, .preview-footer .preview-footer-credit strong, .preview-footer .preview-footer-credit .footer-copyright { font-size:13px; }
}
.preview-footer .preview-footer-links a { font-size:16px; }
.preview-footer .preview-footer-credit, .preview-footer .preview-footer-credit strong, .preview-footer .preview-footer-credit .footer-copyright { font-size:13px; }
.preview-footer .preview-footer-credit strong .credit-phrase { font-size:inherit; }
.preview-footer .footer-invitation .preview-footer-links, .preview-footer .preview-footer-links { column-gap:32px; row-gap:12px; }
.preview-footer .footer-invitation .preview-footer-links a + a, .preview-footer .preview-footer-links a + a { margin-left:0; padding-left:0; }
.preview-footer .preview-footer-links a { min-height:44px; display:inline-flex; align-items:center; }
.preview-footer .preview-footer-credit { column-gap:32px; }
.preview-footer-inner {
 display:flex; flex-wrap:wrap; align-items:center;
 column-gap:32px; row-gap:16px;
}
.preview-footer-inner::after { display:none; }
.preview-footer .footer-invitation { display:contents; }
.preview-footer .footer-invitation .footer-work-invitation {
 position:relative; top:0; flex:0 0 100%; width:100%; max-width:none;
 margin:0; padding:0 0 16px; border-bottom:1px solid var(--border);
}
.preview-footer .preview-footer-links { flex:0 1 auto; }
.preview-footer .preview-footer-credit {
 position:static; top:auto; flex:0 1 auto; margin-left:auto;
 align-self:center; justify-self:auto; padding:0;
 justify-content:flex-end; text-align:right; line-height:1.6;
}
.preview-footer .preview-footer-credit strong { line-height:1.6; }
@media(max-width:899px) {
.preview-footer .preview-footer-credit {
  flex-basis:100%; margin-left:0; justify-content:flex-start; text-align:left;
 }
}
@media(max-width:700px) {
.preview-footer .preview-footer-credit { padding-right:110px; }
}
@media(min-width:1181px) {
.preview-footer .footer-invitation .footer-work-invitation::before {
  content:''; position:absolute; bottom:-1px;
  right:100%; width:calc((100vw - 1180px) / 2 + 32px);
  height:1px; background:var(--border);
 }
}
.preview-footer-inner { container-type:inline-size; }
.preview-footer .preview-footer-credit {
 margin-left:0; justify-content:flex-start; text-align:left;
}
@container (min-width:980px) {
.preview-footer .preview-footer-credit {
  margin-left:auto; justify-content:flex-end; text-align:right;
 }
}
.preview-footer-inner { align-items:baseline; }
.preview-footer .footer-invitation .preview-footer-links, .preview-footer .preview-footer-links { align-items:baseline; }
.preview-footer .preview-footer-credit { align-self:baseline; align-items:baseline; }
