/* Aticus Design System - Core Variables & Joomla Integrations */
:root {
  --ink: #0b1015;
  --acid: #c8ff4d;
  --paper: #f2f0ea;
  --cobalt: #3157ff;

  --ff-heading: 'Unbounded', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --ff-body: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --ff-decorative: 'Cormorant Garamond', Georgia, serif;

  --fs-h1: clamp(37.6px, 8.6vw, 104px);
  --fw-h1: 700;
  --lh-h1: 1.1;
  --ls-h1: -0.02em;

  --fs-h2: clamp(32.0px, 5.5vw, 74.88px);
  --fw-h2: 600;
  --lh-h2: 1.2;

  --fs-h3: clamp(27.2px, 3.2vw, 52.0px);
  --fw-h3: 600;
  --lh-h3: 1.3;

  --fs-p: clamp(16.0px, 0vw, 16.0px);
  --fw-p: 400;
  --lh-p: 1.6;

  --fs-small: clamp(12.0px, 0vw, 12.0px);
  --fw-small: 400;
  --lh-small: 1.5;

  --fs-base: var(--fs-p);
  --fs-body: var(--fs-p);
}

body {
  font-family: var(--ff-body);
  background-color: var(--ink);
  color: #fff;
}

h1, h2, h3 {
  font-family: var(--ff-heading);
}

/* Joomla Subpage & Component Styles */
.aticus-component-page {
  min-height: 80vh;
  padding-top: 7rem;
  padding-bottom: 5rem;
  background-color: var(--ink);
  color: #fff;
}

.aticus-content-container {
  max-width: 1000px;
  margin: 0 auto;
  padding: 2rem 1.5rem;
}

.aticus-content-container h1 {
  font-size: var(--fs-h2);
  margin-bottom: 2rem;
  color: #fff;
  line-height: 1.15;
}

.aticus-content-container h2 {
  font-size: var(--fs-h3);
  margin-top: 2.5rem;
  margin-bottom: 1.25rem;
  color: var(--acid);
}

.aticus-content-container p,
.aticus-content-container li {
  font-size: 1.1rem;
  line-height: 1.75;
  color: rgba(255, 255, 255, 0.75);
  margin-bottom: 1.25rem;
}

.aticus-content-container a {
  color: var(--acid);
  text-decoration: underline;
  transition: color 0.2s;
}

.aticus-content-container a:hover {
  color: #fff;
}

.aticus-content-container ul {
  list-style: disc;
  padding-left: 1.5rem;
  margin-bottom: 1.5rem;
}

/* Joomla System Messages Container */
.aticus-system-messages {
  position: fixed;
  top: 5.5rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 999;
  width: 90%;
  max-width: 600px;
  pointer-events: none;
}

.aticus-system-messages .alert {
  pointer-events: auto;
  padding: 1rem 1.5rem;
  margin-bottom: 1rem;
  border-radius: 4px;
  font-size: 0.95rem;
  box-shadow: 0 10px 30px rgba(0,0,0,0.5);
  animation: slideDown 0.3s ease-out;
}

.aticus-system-messages .alert-success {
  background: #12281e;
  border: 1px solid rgba(200, 255, 77, 0.5);
  color: var(--acid);
}

.aticus-system-messages .alert-danger {
  background: #2b1212;
  border: 1px solid #f87171;
  color: #fca5a5;
}

@keyframes slideDown {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}

:root{--ink:#0b1015;--acid:#c8ff4d;--paper:#f2f0ea}*{box-sizing:border-box}body{margin:0;overflow-x:hidden}html.snap-active{overflow:hidden}html.snap-active body{overflow:hidden}main>section{min-height:100vh}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;background:var(--acid);color:var(--ink);padding:.75rem 1rem}.skip-link:focus{top:1rem}#header.scrolled{background:rgba(11,16,21,.9);backdrop-filter:blur(16px)}.nav-link{position:relative;transition:color .2s}.nav-link:hover{color:#fff}.nav-link:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--acid);transition:right .25s}.nav-link:hover:after{right:0}.mobile-menu{background:rgba(11,16,21,.97);border-top:1px solid rgba(255,255,255,.1)}.mobile-menu a{padding:.6rem 0}.menu-icon{width:18px}.menu-icon i{display:block;height:1px;background:white;margin:5px 0;transition:.25s}.menu-open .menu-icon i:first-child{transform:translateY(3px) rotate(45deg)}.menu-open .menu-icon i:last-child{transform:translateY(-3px) rotate(-45deg)}.hero-image{background-image:url("https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&w=2400&q=88");background-position:center;background-size:cover;transform:scale(1.03);animation:heroZoom 16s ease-out both}@keyframes heroZoom{to{transform:scale(1.1)}}.btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;padding:1rem 1.15rem;font-size:var(--fs-base);font-weight:700;transition:.25s}.btn-primary{background:var(--acid);color:var(--ink)}.btn-primary:hover{background:white;transform:translateY(-2px)}.btn-secondary{border:1px solid rgba(255,255,255,.3);color:white}.btn-secondary:hover{border-color:white;background:rgba(255,255,255,.08)}.eyebrow{font-size:var(--fs-small);font-weight:700;letter-spacing:.18em;text-transform:uppercase}.stat{display:flex;gap:1rem;align-items:flex-start}.stat strong{font-family:var(--ff-heading),sans-serif;font-size:max(var(--fs-h2),2.75rem);letter-spacing:-.06em;line-height:1}.stat span{font-size:var(--fs-small);line-height:1.4;text-transform:uppercase;letter-spacing:.08em;color:rgba(0,0,0,.5)}.solution-grid{display:grid;gap:1px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14)}.solution-card{position:relative;min-height:420px;background:var(--ink);padding:1.5rem;overflow:hidden;outline:none;transition:.4s}.solution-card:before{content:"";position:absolute;inset:100% 0 0;background:#17202a;transition:inset .45s cubic-bezier(.22,1,.36,1)}.solution-card:hover:before,.solution-card:focus:before{inset:0}.card-number,.card-symbol,.card-content{position:relative;z-index:1}.card-number{color:rgba(255,255,255,.4);font-size:.72rem}.card-symbol{position:absolute;right:1.5rem;top:1.25rem;font-size:1.5rem;transition:.35s}.solution-card:hover .card-symbol,.solution-card:focus .card-symbol{color:var(--acid);transform:rotate(45deg)}.card-content{position:absolute;inset:auto 1.5rem 1.5rem}.card-content h3{font-family:var(--ff-heading),sans-serif;font-size:var(--fs-h3);line-height:1.1;letter-spacing:-.04em;margin:.7rem 0 1rem}.card-content>p:not(:first-child){color:rgba(255,255,255,.55);max-width:320px}.card-content ul{max-height:0;opacity:0;margin:0;overflow:hidden;transition:.45s;padding:0;list-style:none}.solution-card:hover ul,.solution-card:focus ul{max-height:150px;opacity:1;margin-top:1.5rem}.card-content li{border-top:1px solid rgba(255,255,255,.14);padding:.55rem 0;font-size:.8rem}.editorial-grid{display:grid;gap:2.5rem}.chart-panel{position:relative;aspect-ratio:16/9;background:#111923;color:white;padding:1.1rem;overflow:hidden}.chart-meta{display:flex;justify-content:space-between;font-size:.6rem;letter-spacing:.15em;color:rgba(255,255,255,.45)}.bars{position:absolute;inset:25% 1.5rem 1.5rem;display:flex;align-items:end;gap:3%}.bars i{width:17%;height:var(--h);background:var(--acid);transform-origin:bottom;transform:scaleY(0);transition:transform 1s cubic-bezier(.2,.8,.2,1)}.in-view .bars i{transform:scaleY(1)}.chart-value{position:absolute;right:1.5rem;top:22%;font:500 clamp(2.5rem,7vw,6rem)/1 var(--ff-heading),sans-serif;letter-spacing:-.08em}.story-tag{margin-top:1.1rem;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:rgba(0,0,0,.45)}.feature-story h3,.story h3{font-family:var(--ff-heading),sans-serif;letter-spacing:-.04em}.feature-story h3{font-size:var(--fs-h3);line-height:1.15;margin:.5rem 0}.feature-story>p:not(.story-tag){max-width:700px;color:rgba(0,0,0,.58)}.feature-story>a{display:inline-block;margin-top:1rem;font-size:.8rem;font-weight:700;border-bottom:1px solid}.story-list{border-top:1px solid #000}.story{display:grid;grid-template-columns:110px 1fr;gap:1.25rem;padding:1.1rem 0;border-bottom:1px solid rgba(0,0,0,.2)}.story h3{font-size:var(--fs-h3);line-height:1.15;margin:.35rem 0}.story p:last-child{font-size:var(--fs-base);color:rgba(0,0,0,.55)}.story-visual{aspect-ratio:1;background:#c9c7c0;display:grid;place-items:center}.radial{background:conic-gradient(var(--ink) 0 63%,#c9c7c0 63%)}.radial:after{content:"";position:absolute;width:78px;height:78px;border-radius:50%;background:#e6e4dd}.radial span{position:relative;z-index:1;font:600 1rem var(--ff-heading)}.radial{position:relative}.matrix{grid-template-columns:repeat(3,1fr);gap:3px;padding:10px}.matrix span{width:100%;height:100%;background:var(--ink)}.matrix span:nth-child(3n),.matrix span:nth-child(7){background:var(--acid)}.case-tab{border:1px solid rgba(255,255,255,.2);padding:.7rem 1rem;font-size:var(--fs-small);transition:.2s}.case-tab.active,.case-tab:hover{background:var(--acid);border-color:var(--acid);color:var(--ink)}.case-panel{border-top:1px solid rgba(255,255,255,.2);padding-top:1rem;display:grid;gap:1rem}.case-copy h3{font:500 clamp(1.5rem,2.8vw,2.75rem)/1.08 var(--ff-heading),sans-serif;letter-spacing:-.05em;margin-top:.75rem}.case-steps{display:grid;gap:1px;background:rgba(255,255,255,.15)}.case-step{background:var(--ink);padding:1rem}.case-step span{display:block;color:var(--acid);font-size:.6rem;text-transform:uppercase;letter-spacing:.15em;margin-bottom:.5rem}.case-step p{font-size:var(--fs-base);line-height:1.45;margin:0}.case-metric{display:flex;align-items:end;justify-content:space-between;border-top:1px solid rgba(255,255,255,.2);padding-top:.75rem}.case-metric strong{font:500 clamp(2.25rem,4.5vw,5rem)/.9 var(--ff-heading),sans-serif;color:var(--acid);letter-spacing:-.08em}.case-metric p{margin:0;font-size:var(--fs-small);line-height:1.4}.contact-section{position:relative}.contact-section:after{content:"A";position:absolute;right:-.05em;bottom:-.35em;font:600 32rem/1 var(--ff-heading);color:rgba(255,255,255,.04);pointer-events:none}.field{display:block;margin-bottom:1.2rem}.field>span{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;margin-bottom:.5rem}.field input{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.5);padding:.75rem 0;color:white;outline:none}.field input::placeholder{color:rgba(255,255,255,.45)}.field input:focus{border-color:var(--acid)}.field small{display:block;min-height:1.1rem;padding-top:.25rem;color:#ffd6d6;font-size:var(--fs-small)}.consent{display:flex;align-items:start;gap:.65rem;font-size:var(--fs-small);color:rgba(255,255,255,.65)}.consent input{margin-top:.15rem;accent-color:var(--acid)}.consent a{text-decoration:underline}.form-submit{position:relative;z-index:1;width:100%;display:flex;justify-content:space-between;margin-top:1.5rem;background:var(--acid);color:var(--ink);padding:1.1rem;font-weight:700;transition:.2s}.form-submit:hover{background:white}.reveal{opacity:0;transform:translateY(20px);transition:opacity .75s,transform .75s}.reveal.in-view{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}@media(min-width:768px){.case-panel{grid-template-columns:5fr 7fr}.case-steps{grid-template-columns:repeat(3,1fr)}.case-metric{grid-column:1/-1}}@media(min-width:768px) and (max-width:1023px){.case-steps{grid-template-columns:repeat(2,1fr)}.case-metric{grid-column:1/-1}}@media(min-width:1024px){.solution-grid{grid-template-columns:repeat(3,1fr)}.editorial-grid{grid-template-columns:7fr 5fr}.story-list{border-top:0;border-left:1px solid #000;padding-left:2.5rem}.chart-panel{aspect-ratio:21/9}}@media(max-width:767px){.hero{min-height:900px}.btn-primary,.btn-secondary{width:100%}.story{grid-template-columns:90px 1fr}.chart-panel{aspect-ratio:4/3}.case-tab{padding:.6rem .7rem}.contact-section:after{font-size:18rem}}

.system-map{background-color:#0e1720;background-image:radial-gradient(circle at 50% 48%,rgba(200,255,77,.12),transparent 31%),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:auto,34px 34px,34px 34px}.system-map-body{position:absolute;inset:18% 5% 14%;display:grid;grid-template-columns:1fr .72fr 1fr;align-items:center;gap:7%;z-index:1}.system-map-body:before,.system-map-body:after{content:"";position:absolute;top:50%;height:1px;width:34%;background:linear-gradient(90deg,rgba(200,255,77,.15),var(--acid));transform:scaleX(0);transition:transform .9s .25s cubic-bezier(.2,.8,.2,1)}.system-map-body:before{left:20%;transform-origin:right}.system-map-body:after{right:20%;transform-origin:left}.in-view .system-map-body:before,.in-view .system-map-body:after{transform:scaleX(1)}.system-stack{display:grid;gap:.65rem}.system-node{position:relative;z-index:2;min-height:76px;border:1px solid rgba(255,255,255,.14);background:rgba(14,23,32,.88);padding:.8rem 1rem;display:grid;grid-template-columns:auto 1fr;column-gap:.7rem;align-content:center;transform:translateY(10px);opacity:0;transition:transform .55s,opacity .55s,border-color .25s}.system-node:nth-child(2){transition-delay:.12s}.in-view .system-node{transform:none;opacity:1}.system-node:hover{border-color:rgba(200,255,77,.65)}.system-node span{grid-row:1/3;color:var(--acid);font:500 .65rem/1 var(--ff-heading);align-self:center}.system-node strong{font:500 clamp(.7rem,1.25vw,1rem)/1.15 var(--ff-heading);letter-spacing:-.03em}.system-node small{margin-top:.28rem;color:rgba(255,255,255,.45);font-size:.57rem;letter-spacing:.06em;text-transform:uppercase}.system-core{position:relative;z-index:3;aspect-ratio:1;border:1px solid rgba(200,255,77,.7);border-radius:50%;background:var(--acid);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 0 12px rgba(200,255,77,.035),0 0 60px rgba(200,255,77,.12);transform:scale(.72);opacity:0;transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .5s}.in-view .system-core{transform:scale(1);opacity:1}.system-core span{font-size:.54rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.system-core strong{margin-top:.25rem;font:600 clamp(.85rem,1.7vw,1.35rem)/1 var(--ff-heading);letter-spacing:-.04em}.system-core i{position:absolute;inset:-9px;border:1px solid rgba(200,255,77,.25);border-radius:50%;animation:corePulse 2.8s ease-out infinite}@keyframes corePulse{50%{inset:-16px;opacity:.1}}.system-map-footer{position:absolute;left:5%;right:5%;bottom:5%;display:flex;align-items:center;justify-content:space-between;color:rgba(255,255,255,.35);font-size:.52rem;letter-spacing:.12em;text-transform:uppercase}.system-map-footer b{color:rgba(255,255,255,.72);font-weight:500}.system-map-footer:before{content:"";position:absolute;left:0;right:0;top:-.7rem;height:1px;background:rgba(255,255,255,.09)}

@media(max-width:767px){.system-map{padding:1rem}.system-map-body{inset:17% 4% 15%;grid-template-columns:1fr 72px 1fr;gap:.5rem}.system-map-body:before,.system-map-body:after{display:none}.system-stack{gap:.45rem}.system-node{min-height:67px;padding:.55rem;grid-template-columns:1fr}.system-node span{grid-row:auto;font-size:.5rem;margin-bottom:.3rem}.system-node strong{font-size:.6rem}.system-node small{font-size:.46rem;line-height:1.25}.system-core span{font-size:.4rem}.system-core strong{font-size:.65rem}.system-map-footer{left:4%;right:4%;font-size:.43rem}.system-map-footer b{max-width:55%;text-align:center}}

.hero-image{background-image:var(--hero-image-url,url("https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&w=2400&q=88"));background-position:var(--hero-image-position,center)}
.case-panel{min-height:340px}
@media(min-width:1024px) and (max-height:680px){#solutions,#hub,#cases,#about{max-height:100vh;overflow-y:auto;overscroll-behavior:contain}}
@media(min-width:1024px) and (min-height:681px){#solutions,#hub,#cases,#about{overflow-y:visible}}

/* Section 08: About & Contacts */
#header nav.lg\:flex {
  display: flex !important;
  gap: 1.75rem !important;
}
@media (min-width: 1024px) and (max-width: 1279px) {
  #header nav.lg\:flex {
    gap: 1.1rem !important;
    font-size: 0.85rem !important;
  }
}

.about-section {
  position: relative;
  background-color: var(--ink);
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.about-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
@media (min-width: 1024px) {
  .about-grid {
    grid-template-columns: 1.2fr 1fr 1fr;
    gap: 3rem;
  }
}

/* Bento Grid Styles for Section 08 */
.about-bento-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 1024px) {
  .about-bento-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 1.5rem;
  }
}
.bento-card {
  position: relative;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  transition: border-color 0.25s ease, background-color 0.25s ease;
}
.bento-card:hover {
  border-color: rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.035);
}
.header-logo {
  width: 34px !important;
  height: 34px !important;
  max-width: 34px !important;
  border-radius: 9999px;
  object-fit: contain;
  flex-shrink: 0;
}
.bento-logo {
  width: 38px !important;
  height: 38px !important;
  max-width: 38px !important;
  border-radius: 9999px;
  object-fit: contain;
  flex-shrink: 0;
}
.social-bento-card {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 0.75rem 1rem;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 6px;
  color: #fff;
  text-decoration: none;
  transition: all 0.25s ease;
}
.social-bento-card:hover {
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(255, 255, 255, 0.25);
  transform: translateY(-2px);
  color: #fff;
}
.social-bento-icon {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.25s ease;
}
.social-bento-icon svg {
  width: 100%;
  height: 100%;
}
.social-bento-card:hover .social-bento-icon {
  transform: scale(1.1);
}
.social-bento-card:hover .social-arrow {
  transform: translate(2px, -2px);
  color: var(--acid);
}

.social-card {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.8rem 1rem;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 4px;
  color: #fff;
  text-decoration: none;
  transition: all 0.25s ease;
}
.social-card:hover {
  background: rgba(200, 255, 77, 0.08);
  border-color: var(--acid);
  transform: translateY(-2px);
  color: #fff;
}
.social-icon {
  width: 22px;
  height: 22px;
  fill: currentColor;
  flex-shrink: 0;
  transition: transform 0.25s ease;
}
.social-card:hover .social-icon {
  transform: scale(1.1);
  color: var(--acid);
}
.social-arrow {
  margin-left: auto;
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.4);
  transition: transform 0.25s ease, color 0.25s ease;
}
.social-card:hover .social-arrow {
  transform: translate(2px, -2px);
  color: var(--acid);
}
.about-contact-item {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.about-contact-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.about-contact-label {
  font-size: var(--fs-small);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: rgba(255, 255, 255, 0.45);
}
.about-contact-val {
  font-size: 1.05rem;
  color: #fff;
  text-decoration: none;
  font-weight: 500;
  transition: color 0.2s;
}
.about-contact-val:hover {
  color: var(--acid);
}
.about-feature {
  border-left: 2px solid var(--acid);
  padding-left: 1.2rem;
  margin-top: 1.5rem;
}
.about-footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

/* ==========================================================================
   Service & Internal Pages (Subpages, Alerts, Forms)
   ========================================================================== */

/* Subpage Header (Always solid dark background with blur) */
#header.is-subpage {
  background: rgba(11, 16, 21, 0.95);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

/* Subpage Layout Containers */
.aticus-component-page {
  min-height: calc(100vh - 80px);
  padding-top: 7rem; /* 112px, guaranteed clearance under 80px header */
  padding-bottom: 5rem;
  background-color: var(--ink);
  display: flex;
  flex-direction: column;
}

.aticus-content-container {
  width: 100%;
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

@media (min-width: 1024px) {
  .aticus-content-container {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}

/* Joomla System Messages & Alerts */
#system-message-container {
  margin-bottom: 1.5rem;
}

.alert {
  position: relative;
  padding: 1rem 1.25rem;
  margin-bottom: 1rem;
  border-radius: 4px;
  font-size: 0.95rem;
  line-height: 1.5;
  border: 1px solid transparent;
}

.alert-heading {
  font-weight: 600;
  margin-bottom: 0.35rem;
  font-size: 1rem;
}

.alert-danger,
.alert-error {
  background-color: rgba(239, 68, 68, 0.12);
  border-color: rgba(239, 68, 68, 0.4);
  color: #fca5a5;
}

.alert-warning {
  background-color: rgba(245, 158, 11, 0.12);
  border-color: rgba(245, 158, 11, 0.4);
  color: #fcd34d;
}

.alert-info {
  background-color: rgba(59, 130, 246, 0.12);
  border-color: rgba(59, 130, 246, 0.4);
  color: #93c5fd;
}

.alert-success {
  background-color: rgba(34, 197, 94, 0.12);
  border-color: rgba(34, 197, 94, 0.4);
  color: #86efac;
}

.alert .btn-close,
.alert .close {
  position: absolute;
  top: 1rem;
  right: 1.25rem;
  background: transparent;
  border: none;
  color: inherit;
  font-size: 1.25rem;
  line-height: 1;
  opacity: 0.7;
  cursor: pointer;
  padding: 0;
}

.alert .btn-close:hover,
.alert .close:hover {
  opacity: 1;
}

/* Joomla Forms & Inputs in Aticus Dark Theme */
.aticus-content-container input[type="text"],
.aticus-content-container input[type="password"],
.aticus-content-container input[type="email"],
.aticus-content-container input[type="search"],
.aticus-content-container input[type="tel"],
.aticus-content-container input[type="url"],
.aticus-content-container textarea,
.aticus-content-container select,
.form-control {
  width: 100%;
  background-color: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 4px;
  color: #ffffff;
  padding: 0.65rem 0.85rem;
  font-size: 0.95rem;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.aticus-content-container input[type="text"]:focus,
.aticus-content-container input[type="password"]:focus,
.aticus-content-container input[type="email"]:focus,
.aticus-content-container input[type="search"]:focus,
.aticus-content-container input[type="tel"]:focus,
.aticus-content-container input[type="url"]:focus,
.aticus-content-container textarea:focus,
.aticus-content-container select:focus,
.form-control:focus {
  border-color: var(--acid);
  background-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 0 0 1px var(--acid);
}

.aticus-content-container label,
.control-label {
  display: inline-block;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 0.4rem;
}

.aticus-content-container .form-group,
.aticus-content-container .control-group {
  margin-bottom: 1.25rem;
}

/* Joomla Buttons */
.aticus-content-container .btn-primary,
.aticus-content-container button[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background-color: var(--acid);
  color: #0b1015;
  font-weight: 600;
  font-size: 0.9rem;
  padding: 0.75rem 1.5rem;
  border-radius: 4px;
  border: none;
  cursor: pointer;
  transition: all 0.25s ease;
  text-decoration: none;
}

.aticus-content-container .btn-primary:hover,
.aticus-content-container button[type="submit"]:hover {
  background-color: #ffffff;
  transform: translateY(-1px);
  color: #0b1015;
}

.aticus-content-container .btn-secondary,
.aticus-content-container .btn-default {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background-color: transparent;
  color: #ffffff;
  font-weight: 500;
  font-size: 0.9rem;
  padding: 0.75rem 1.5rem;
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  cursor: pointer;
  transition: all 0.25s ease;
  text-decoration: none;
}

.aticus-content-container .btn-secondary:hover,
.aticus-content-container .btn-default:hover {
  border-color: var(--acid);
  color: var(--acid);
}

/* Subpage Typography & Headings */
.aticus-content-container h1,
.aticus-content-container .page-header h1,
.aticus-content-container .page-header h2 {
  font-family: var(--ff-heading);
  font-size: 2.25rem;
  font-weight: 500;
  color: #ffffff;
  margin-bottom: 1.5rem;
  line-height: 1.2;
}

@media (min-width: 768px) {
  .aticus-content-container h1,
  .aticus-content-container .page-header h1,
  .aticus-content-container .page-header h2 {
    font-size: 2.75rem;
  }
}

.aticus-content-container a {
  color: var(--acid);
  text-decoration: none;
  transition: color 0.2s ease;
}

.aticus-content-container a:hover {
  text-decoration: underline;
}

