/* Taurus Technologies site footer. Everything is scoped under #tt-footer so the theme can't restyle it. */
#tt-footer{
  --f-bg:#0d0e11;--f-bg-2:#121419;--f-line:rgba(255,255,255,.08);--f-line-2:rgba(255,255,255,.14);
  --f-text:#f1efec;--f-muted:#aeaaa4;--f-dim:#85827d;--f-red:#b5121b;--f-red-2:#d0181f;--f-red-text:#f25a52;
  --f-ease:cubic-bezier(.16,1,.3,1);
  grid-area:footer; /* The7 lays #page out as a grid with a named footer slot */
  position:relative;isolation:isolate;overflow:hidden;clear:both;
  margin:0;padding:0;background:linear-gradient(180deg,var(--f-bg-2) 0%,var(--f-bg) 38%);
  color:var(--f-muted);font:400 15px/1.6 "Poppins",Helvetica,Arial,sans-serif;text-align:left;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
#tt-footer *,#tt-footer *::before,#tt-footer *::after{box-sizing:border-box}
#tt-footer h2,#tt-footer p,#tt-footer ul,#tt-footer li,#tt-footer address{margin:0;padding:0;border:0;background:none;font:inherit;color:inherit;letter-spacing:normal;text-transform:none;text-shadow:none}
#tt-footer ul{list-style:none}
#tt-footer li::before,#tt-footer li::after{content:none}
#tt-footer address{font-style:normal}
#tt-footer a{color:inherit;text-decoration:none;font:inherit;border:0;box-shadow:none;transition:color .2s}
#tt-footer img{display:block;max-width:100%;height:auto;border:0;box-shadow:none}
#tt-footer :focus-visible{outline:2px solid var(--f-red-text);outline-offset:3px}

/* LED-wall pixel texture, faded so it only shows near the top right */
#tt-footer::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.085) 1px,transparent 1.5px);background-size:14px 14px;
  -webkit-mask-image:radial-gradient(120% 90% at 92% 0%,#000 0%,rgba(0,0,0,.35) 38%,transparent 72%);
  mask-image:radial-gradient(120% 90% at 92% 0%,#000 0%,rgba(0,0,0,.35) 38%,transparent 72%)}

/* Signal line along the top edge */
#tt-footer .ttf-signal{position:relative;height:1px;background:var(--f-line-2);overflow:hidden}
#tt-footer .ttf-signal i{position:absolute;top:0;left:0;width:32%;height:100%;background:linear-gradient(90deg,transparent,var(--f-red-2) 45%,#ff6a5f 50%,var(--f-red-2) 55%,transparent);animation:ttf-sweep 7s cubic-bezier(.45,0,.25,1) infinite}
@keyframes ttf-sweep{0%{transform:translateX(-110%)}60%,100%{transform:translateX(320%)}}

#tt-footer .ttf-wrap{width:min(1200px,100% - 48px);margin:0 auto}

/* Main row: brand, services, company, contact */
#tt-footer .ttf-main{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.75fr) minmax(0,.7fr) minmax(0,1.1fr);gap:40px 44px;padding:56px 0 44px}
/* keep long service names on one line only where the column is wide enough for them */
@media (min-width:1280px){#tt-footer .ttf-links--split a{white-space:nowrap}}
#tt-footer .ttf-logo{display:inline-block}
#tt-footer .ttf-logo img{width:172px}
#tt-footer .ttf-about{margin-top:18px;max-width:34ch;font-size:14.5px;line-height:1.7;color:var(--f-muted)}
#tt-footer .ttf-brand-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 16px;margin-top:22px}
#tt-footer .ttf-btn{position:relative;isolation:isolate;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 34px 0 20px;color:#fff;font-size:15px;font-weight:500;white-space:nowrap}
#tt-footer .ttf-btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--f-red);clip-path:polygon(0 0,100% 0,calc(100% - 13px) 100%,0 100%);transition:background-color .25s var(--f-ease)}
#tt-footer .ttf-btn:hover{color:#fff}
#tt-footer .ttf-btn:hover::before{background:var(--f-red-2)}
#tt-footer .ttf-btn .ttf-icon{width:15px;height:15px;fill:currentColor;transition:transform .3s var(--f-ease)}
#tt-footer .ttf-btn:hover .ttf-icon{transform:translateX(3px)}

/* Small LED marker used on offices */
#tt-footer .ttf-led{flex:none;display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--f-red-2);box-shadow:0 0 0 3px rgba(208,24,31,.18)}

#tt-footer .ttf-head{position:relative;margin-bottom:18px;padding-bottom:12px;font-size:12.5px;font-weight:600;line-height:1.2;letter-spacing:.12em;text-transform:uppercase;color:var(--f-text)}
#tt-footer .ttf-head::after{content:"";position:absolute;left:0;bottom:0;width:22px;height:2px;background:var(--f-red)}
/* Services and Company use <details> so phones can fold them; on wider screens they look like plain headings */
#tt-footer .ttf-acc summary{display:block;list-style:none;cursor:default}
#tt-footer .ttf-acc summary::-webkit-details-marker{display:none}
#tt-footer .ttf-acc-icon{display:none}
#tt-footer .ttf-city{display:block}
#tt-footer .ttf-directions .ttf-icon + .ttf-icon{display:none}
#tt-footer .ttf-links--split{columns:2;column-gap:28px}
#tt-footer .ttf-links li{break-inside:avoid}
#tt-footer .ttf-links a{position:relative;display:inline-flex;align-items:center;min-height:34px;color:var(--f-muted);font-size:14.5px;line-height:1.35;transition:color .2s,transform .3s var(--f-ease)}
#tt-footer .ttf-links a::before{content:"";position:absolute;left:-12px;top:50%;width:6px;height:2px;margin-top:-1px;background:var(--f-red-2);opacity:0;transform:translateX(-4px);transition:opacity .2s,transform .3s var(--f-ease)}
#tt-footer .ttf-links a:hover{color:#fff;transform:translateX(4px)}
#tt-footer .ttf-links a:hover::before{opacity:1;transform:none}

#tt-footer .ttf-contact li+li{margin-top:12px}
#tt-footer .ttf-contact-label{display:block;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--f-dim)}
#tt-footer .ttf-contact a{display:inline-flex;align-items:center;gap:9px;min-height:32px;color:var(--f-text);font-size:14.5px;overflow-wrap:anywhere}
#tt-footer .ttf-contact a:hover{color:#fff}
#tt-footer .ttf-contact .ttf-icon{flex:none;width:16px;height:16px;fill:var(--f-red-text)}
#tt-footer .ttf-social{display:flex;gap:6px}
#tt-footer .ttf-social a{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--f-line-2);color:var(--f-muted);transition:background-color .25s,border-color .25s,color .2s}
#tt-footer .ttf-social .ttf-icon{width:18px;height:18px;fill:currentColor}
#tt-footer .ttf-social a:hover{background:var(--f-red);border-color:var(--f-red);color:#fff}

/* Offices strip: three locations side by side, like a row of status panels */
#tt-footer .ttf-offices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--f-line)}
#tt-footer .ttf-office{position:relative;padding:22px 24px 20px 0}
#tt-footer .ttf-office+.ttf-office{padding-left:24px;border-left:1px solid var(--f-line)}
#tt-footer .ttf-office-name{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;color:var(--f-text);font-size:15px;font-weight:500}
#tt-footer .ttf-office-role{padding:3px 8px;border:1px solid var(--f-line-2);font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--f-dim);line-height:1.2}
#tt-footer .ttf-office address{margin-top:6px;padding-left:17px;font-size:14px;line-height:1.6;color:var(--f-muted)}
#tt-footer .ttf-directions{display:inline-flex;align-items:center;gap:6px;min-height:30px;margin-left:17px;color:var(--f-red-text);font-size:13px;font-weight:500}
#tt-footer .ttf-directions .ttf-icon{width:13px;height:13px;fill:currentColor;transition:transform .3s var(--f-ease)}
#tt-footer .ttf-directions:hover{color:#fff}
#tt-footer .ttf-directions:hover .ttf-icon{transform:translateX(3px)}

/* Bottom bar */
#tt-footer .ttf-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px;padding:20px 0 26px;border-top:1px solid var(--f-line);font-size:13px;color:var(--f-dim)}
#tt-footer .ttf-legal{display:flex;gap:6px 22px}
#tt-footer .ttf-legal a{display:inline-flex;align-items:center;min-height:32px;color:var(--f-muted)}
#tt-footer .ttf-legal a:hover{color:#fff}
#tt-footer .ttf-tagline{margin-left:auto;font-size:12px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--f-muted)}
#tt-footer .ttf-tagline span{color:var(--f-red-text)}

#tt-footer .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Tablet and small laptops */
@media (max-width:1199px){
  #tt-footer .ttf-main{grid-template-columns:minmax(0,1fr) minmax(0,.8fr) minmax(0,1.25fr);gap:40px 32px}
  #tt-footer .ttf-links--split{columns:1}
  #tt-footer .ttf-brand{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;align-items:start;gap:0 40px}
  #tt-footer .ttf-about{margin-top:0}
  #tt-footer .ttf-brand-actions{grid-column:1/-1}
}
/* Phone: compact. Links fold away, contact and offices stay visible. */
@media (max-width:640px){
  #tt-footer .ttf-wrap{width:min(1200px,100% - 40px)}
  #tt-footer .ttf-main{display:block;padding:30px 0 0}
  #tt-footer .ttf-brand{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px 12px}
  #tt-footer .ttf-logo img{width:138px}
  #tt-footer .ttf-about{display:none}
  #tt-footer .ttf-brand-actions{display:contents}
  #tt-footer .ttf-social{grid-row:1;grid-column:2;gap:6px}
  #tt-footer .ttf-social a{width:40px;height:40px}
  #tt-footer .ttf-btn{grid-column:1/-1;justify-content:center;min-height:46px}

  #tt-footer .ttf-col--services{margin-top:22px}
  #tt-footer .ttf-col--services,#tt-footer .ttf-col--company{border-top:1px solid var(--f-line)}
  #tt-footer .ttf-acc summary{display:flex;align-items:center;justify-content:space-between;min-height:52px;margin:0;padding:0;cursor:pointer}
  #tt-footer .ttf-acc summary::after{display:none}
  #tt-footer .ttf-acc-icon{display:block;position:relative;width:14px;height:14px}
  #tt-footer .ttf-acc-icon::before,#tt-footer .ttf-acc-icon::after{content:"";position:absolute;left:0;top:6px;width:14px;height:2px;background:var(--f-red-text);transition:transform .3s var(--f-ease)}
  #tt-footer .ttf-acc-icon::after{transform:rotate(90deg)}
  #tt-footer .ttf-acc[open] .ttf-acc-icon::after{transform:rotate(0)}
  #tt-footer .ttf-acc .ttf-links{columns:2;column-gap:18px;padding:0 0 14px}
  #tt-footer .ttf-links a{min-height:38px;font-size:14px}

  #tt-footer .ttf-col--contact{padding-top:14px;border-top:1px solid var(--f-line)}
  #tt-footer .ttf-col--contact .ttf-head{display:none}
  #tt-footer .ttf-contact{display:grid;gap:6px}
  #tt-footer .ttf-contact li+li{margin-top:0}
  #tt-footer .ttf-contact-label{font-size:10px}
  #tt-footer .ttf-contact a{min-height:34px;font-size:14.5px}

  #tt-footer .ttf-offices{grid-template-columns:minmax(0,1fr);margin-top:14px}
  #tt-footer .ttf-office,#tt-footer .ttf-office+.ttf-office{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:14px;padding:12px 0;border-left:0}
  #tt-footer .ttf-office+.ttf-office{border-top:1px solid var(--f-line)}
  #tt-footer .ttf-office-name{grid-column:1;font-size:14.5px}
  #tt-footer .ttf-office-role{font-size:9.5px;padding:2px 6px}
  #tt-footer .ttf-office address{grid-column:1;margin-top:3px;font-size:13px;line-height:1.45}
  #tt-footer .ttf-city{display:inline}
  #tt-footer .ttf-street::after{content:","}
  #tt-footer .ttf-directions{grid-column:2;grid-row:1/span 2;justify-content:center;width:42px;height:42px;min-height:0;margin:0;border:1px solid var(--f-line-2);color:var(--f-red-text)}
  #tt-footer .ttf-directions-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  #tt-footer .ttf-directions .ttf-icon{display:none}
  #tt-footer .ttf-directions .ttf-icon + .ttf-icon{display:block;width:18px;height:18px}

  #tt-footer .ttf-bottom{display:flex;flex-wrap:wrap;gap:0 18px;padding:12px 0 18px;font-size:12px}
  #tt-footer .ttf-copy{flex-basis:100%;padding-top:6px}
  #tt-footer .ttf-legal a{min-height:36px}
  #tt-footer .ttf-tagline{display:none}
}
@media (max-width:380px){
  #tt-footer .ttf-links--split{column-gap:16px}
  #tt-footer .ttf-links a{font-size:14px}
}

@media (prefers-reduced-motion:reduce){
  #tt-footer .ttf-signal i{animation:none;left:34%}
  #tt-footer *,#tt-footer *::before{transition:none!important}
}
