/* Footer typography and container do not depend on the host page. */
.foot,.footer-sticker-layer{--body:var(--site-body);--wordmark:'Plaak Wordmark',sans-serif;--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font:400 18px/1.55 var(--body);text-rendering:auto;-webkit-font-smoothing:auto}
.foot>.wrap{box-sizing:border-box;width:100%;max-width:1280px;margin:0 auto;padding-left:max(40px,env(safe-area-inset-left,0px));padding-right:max(40px,env(safe-area-inset-right,0px))}
.foot .footer-title{font-family:'Plaak Display',sans-serif;font-weight:700;text-transform:uppercase}
.foot a{color:inherit}
@media(max-width:767px){.foot>.wrap{padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}}
/* The footer brief fixes this surface across every lamp palette. */
.foot{--footer-paper:#fffdf5;--footer-rule:rgb(255 253 245 / .35);margin-top:88px;padding-top:100px;background:#1b56fd;color:var(--footer-paper);overflow:clip}
.foot.sticker-out{overflow:visible}
.footer-sticker-layer{--footer-paper:#fffdf5;position:fixed;inset:0;overflow:clip;pointer-events:none;z-index:100}
.foot :focus-visible{outline:2px solid var(--footer-paper);outline-offset:3px}
.footer-word{position:relative;margin-bottom:80px}
.foot .footer-title{display:inline-flex;white-space:pre;font-size:clamp(100px,30vw,400px);line-height:.82;letter-spacing:0;margin:0}
.footer-letter{display:block;overflow:hidden;padding-block:.08em;margin-block:-.08em}
.footer-glyph{display:block}
.footer-pending .footer-glyph{transform:translateY(115%)}
.footer-entered .footer-glyph{animation:footer-rise 700ms cubic-bezier(.65,0,.2,1) both;animation-delay:calc(var(--letter) * 45ms)}
.footer-word{user-select:none;-webkit-user-select:none}
.footer-sticker{position:absolute;z-index:2;display:block;pointer-events:none;user-select:none;-webkit-user-select:none;--sticker-tilt:-6deg;--sticker-delay:925ms}
.footer-sticker-pill{left:20px;bottom:-8px}
.footer-sticker-avatar{width:150px;right:0;top:-65px;--sticker-tilt:8deg;--sticker-delay:1045ms}
.sticker-arrival,.sticker-bob,.sticker-art,.sticker-front{display:block}
.sticker-arrival{transform:rotate(var(--sticker-tilt))}
.footer-pending .sticker-arrival{opacity:0}
.footer-entered .sticker-arrival{animation:footer-slap 260ms cubic-bezier(.2,0,0,1) both;animation-delay:var(--sticker-delay)}
.footer-entered .sticker-bob{animation:footer-bob 4s cubic-bezier(.65,0,.2,1) infinite;animation-delay:1305ms}
.sticker-art{position:relative;filter:drop-shadow(0 2px 0 rgb(32 33 31 / .2))} /* taste-skill-ignore: brief requires a flat physical sticker drop. */
.sticker-pill{position:relative;width:293.6px;border-radius:100px;isolation:isolate;color:#fff}
.sticker-text{font:800 22px var(--body);letter-spacing:-.03em}
.sticker-foil-shine{mix-blend-mode:overlay;opacity:.9} /* taste-skill-ignore: Gagan's foil; the SVG mask limits the shine under the white lettering. */
.sticker-back,.sticker-flap{position:absolute;inset:0;transform-origin:0 0;opacity:0}
.sticker-paper-pill{border-radius:100px}
.sticker-flap{pointer-events:none}
.sticker-back.sticker-paper-pill{background:#e8e2d2} /* Sticker backing is a shade darker than the face, so a fold reads on cream art. */
.sticker-crease-mask{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.sticker-paper-avatar{mask-image:url('/assets/gagan-logo.png');mask-size:148.837209% 107.563025%;mask-position:50% 55.555556%;mask-repeat:no-repeat}
.sticker-crease{position:absolute;left:0;top:0;width:100%;height:6px;background:linear-gradient(rgb(32 33 31 / .12),transparent);transform-origin:0 0;opacity:0} /* taste-skill-ignore: Round 3 requires a 6px soft 12% ink shade on the flat side of the physical crease. */
.sticker-hit{position:absolute;inset:0;pointer-events:auto;touch-action:none;cursor:grab;clip-path:inset(0 round 100px);-webkit-touch-callout:none}
.footer-sticker-avatar .sticker-hit{clip-path:polygon(42% 1%,65% 4%,78% 11%,84% 22%,81% 35%,86% 41%,82% 52%,79% 61%,91% 65%,97% 78%,86% 91%,69% 97%,52% 96%,48% 91%,32% 99%,18% 96%,6% 83%,5% 73%,15% 67%,20% 65%,22% 53%,16% 44%,15% 38%,19% 34%,18% 20%,23% 11%)}
.sticker-touched .sticker-arrival{animation:none;opacity:1}
.sticker-peeling .sticker-bob,.sticker-held .sticker-bob,.sticker-flying .sticker-bob,.sticker-settling .sticker-bob,.sticker-away .sticker-bob{animation-play-state:paused}
.sticker-held{z-index:4}
.sticker-peeling .sticker-hit,.sticker-held .sticker-hit{cursor:grabbing}
.sticker-touched .sticker-art{filter:none}
.sticker-shadow{position:absolute;inset:0;pointer-events:none;opacity:0}
.sticker-shadow-flat{transform:translateY(2px)}
.sticker-shadow-lift{transform:translateY(6px);filter:blur(12px)} /* taste-skill-ignore: physical lifted shadow; only its opacity animates during the requested lift. */
.sticker-shadow-base,.sticker-shadow-fold{position:absolute;inset:0;background:rgb(32 33 31 / .2);transform-origin:0 0}
.sticker-shadow-fold{opacity:0}
.sticker-front{position:relative}
.sticker-away{opacity:0}
.sticker-away .sticker-hit,.sticker-flying .sticker-hit{pointer-events:none}
.sticker-art svg{display:block;width:100%;height:auto;overflow:visible}
.footer-columns{display:grid;grid-template-columns:1.5fr 1fr .85fr 1.1fr;border-top:1px solid var(--footer-rule)} /* taste-skill-ignore: column hairlines are explicitly required by the footer brief. */
.footer-column{min-width:0;padding:32px 28px 38px}
.footer-column:first-child{padding-left:0}
.footer-column:last-child{padding-right:0}
.footer-column+.footer-column{border-left:1px solid var(--footer-rule)} /* taste-skill-ignore: reference-style column dividers requested in the brief. */
.footer-label{display:block;margin:0 0 20px;font:500 11px/1.4 var(--mono);letter-spacing:.09em;text-transform:uppercase}
.foot a{position:relative;z-index:3;background:#1b56fd;min-height:44px;display:inline-flex;align-items:center;text-decoration:none;text-underline-offset:5px} /* Preserve the footer link field and stacking. */
@media (hover:hover) and (pointer:fine){
.foot a:hover{text-decoration:underline}}
.footer-resume-read{gap:10px;font:400 clamp(20px,2vw,28px)/1.3 var(--body)}
.foot .footer-download{display:flex;width:fit-content;gap:14px;margin-top:20px;padding:12px 20px;border-radius:100px;background:var(--footer-paper);color:#1b56fd;font:600 14px/1.2 var(--body);filter:drop-shadow(0 2px 0 rgb(32 33 31 / .2));transition:transform 120ms cubic-bezier(.2,0,0,1)} /* taste-skill-ignore: the requested PDF pill shares the stickers' flat drop. */
.foot .footer-download:active{transform:translateY(2px)}
.foot .colophon svg{display:inline-block;vertical-align:baseline;width:18px;height:18px;flex:none}
.footer-links{display:flex;flex-direction:column;align-items:flex-start}
.footer-links a,.footer-place{font:700 28px/1.15 var(--wordmark);text-transform:uppercase}
.footer-place{margin:0 0 18px}
.footer-time{display:flex;align-items:center;gap:8px;font-size:13px;white-space:nowrap}
.footer-time::before{content:"";width:6px;height:6px;flex:none;border-radius:50%;background:#ffc83d}
.colophon{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding-block:24px;border-top:1px solid var(--footer-rule);font-size:13px} /* taste-skill-ignore: requested closing rule. */
.colophon img{width:42px;height:42px}
.colophon a{justify-self:end;gap:10px}
@keyframes footer-rise{from{transform:translateY(115%)}to{transform:translateY(0)}}
@keyframes footer-slap{from{opacity:0;transform:scale(1.15) rotate(calc(var(--sticker-tilt) + 4deg))}to{opacity:1;transform:scale(1) rotate(var(--sticker-tilt))}}
@keyframes footer-bob{0%,100%{transform:translateY(0)}25%{transform:translateY(-3px)}75%{transform:translateY(3px)}}
@media(max-width:1100px){.footer-column{padding-inline:20px}.footer-links a,.footer-place{font-size:25px}.footer-time{font-size:12px}}
@media(max-width:700px){
  .foot{margin-top:64px;padding-top:78px}
  .footer-word{margin-bottom:54px}
  .footer-sticker-avatar{width:58px;top:-43px;right:2px}
  .footer-sticker-pill{left:5px;bottom:-7px}
  .sticker-pill{width:174px}
  .footer-columns{grid-template-columns:1fr 1fr}
  .footer-column{padding:26px 20px}
  .footer-resume,.footer-location{grid-column:1/-1}
  .footer-column.footer-resume{padding:28px 0}
  .footer-column.footer-pages{padding-left:0;border-left:0}
  .footer-column.footer-social{padding-right:0}
  .footer-column.footer-location{padding-inline:0;border-left:0}
  .footer-column:not(:first-child){border-top:1px solid var(--footer-rule)} /* taste-skill-ignore: stacked footer columns retain the brief's hairlines. */
  .footer-label{margin-bottom:14px}
  .footer-resume-read{font-size:26px}
  .footer-place{font-size:28px;margin-bottom:12px}
  .footer-time{font-size:13px}
  .colophon{grid-template-columns:1fr;justify-items:start;gap:10px;padding-block:24px}
  .colophon a{justify-self:start}
}
@media(prefers-reduced-motion:reduce){
  .footer-pending .footer-glyph{transform:none}
  .footer-pending .sticker-arrival{opacity:1}
  .sticker-arrival,.sticker-bob,.sticker-touched .sticker-bob{animation:none!important}
}

.foot .colophon{padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}
