/*
 * Ikaro Medios 5.1 — global shell + technological footer.
 * Loaded last so every public view shares the same desktop geometry.
 */
:root{
  --max:1400px;
  --ik-site-max:1400px;
  --ikg-max:1400px;
  --ik-site-gutter:32px;
  --ik-shell:min(var(--ik-site-max),calc(100vw - (var(--ik-site-gutter) * 2)));
}

/* ---------- GLOBAL DESKTOP SHELL ---------- */
.site-header{
  padding-left:max(var(--ik-site-gutter),calc((100vw - var(--ik-site-max))/2));
  padding-right:max(var(--ik-site-gutter),calc((100vw - var(--ik-site-max))/2));
}

.ik-content-shell,
.ik-page-hero .ik-content-shell,
.ik-single-hero .ik-content-shell,
.ik-archive-hero .ik-content-shell{
  width:var(--ik-shell);
  max-width:none;
}

.ik-production .section-heading,
.ik-videos .youtube-showcase,
.ik-news>.section-heading,
.ik-news-grid,
.ik-coverage>.section-heading,
.ik-coverage-grid{
  width:var(--ik-shell);
  max-width:none;
  margin-left:auto;
  margin-right:auto;
}

.ikaro-home-manager{
  --home-shell:var(--ik-shell);
}
.ikaro-home-manager .hero-layout{
  width:min(var(--ik-site-max),100%);
}

.ik-contact-hero__grid,
.ik-contact-content,
.ik-contact-direct .ik-content-shell{
  width:var(--ik-shell);
  max-width:none;
}

.ik-page-hero:not(.ik-page-hero--has-image) .ik-content-shell{max-width:none}

/* Decorative alignment follows the same 1400px shell. */
.ikaro-site:not(.home) .ik-page-hero::after,
.ikaro-site:not(.home) .ik-single-hero::after,
.ikaro-site:not(.home) .ik-archive-hero::after{
  left:max(var(--ik-site-gutter),calc((100vw - var(--ik-site-max))/2));
}
.ik-service-hero::after{
  left:max(var(--ik-site-gutter),calc((100vw - var(--ik-site-max))/2));
}

/* ---------- DESKTOP FLOATS ---------- */
@media(min-width:768px){
  .ik-desktop-floats{display:block!important}
  .ik-float-button--wa{
    right:26px;
    opacity:1;
    visibility:visible;
  }
}

/* ---------- TECHNOLOGICAL FOOTER ---------- */
.ik-footer{
  position:relative;
  overflow:hidden;
  padding:0!important;
  border-top:1px solid rgba(255,255,255,.10)!important;
  background:
    radial-gradient(circle at 14% 0%,rgba(244,160,0,.08),transparent 28%),
    radial-gradient(circle at 88% 22%,rgba(244,160,0,.04),transparent 24%),
    #050505!important;
}
.ik-footer::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.17;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom,#000,transparent 78%);
}
.ik-footer-shell{
  position:relative;
  z-index:1;
  width:var(--ik-shell);
  margin-inline:auto;
}
.ik-footer-signal{
  min-height:54px;
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:24px;
  align-items:center;
  border-bottom:1px solid rgba(255,255,255,.11);
  color:#8f897f;
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.ik-footer-signal__brand{color:var(--gold-2)}
.ik-footer-signal__status{display:inline-flex;align-items:center;gap:8px;color:#d8d1c5}
.ik-footer-signal__status::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 0 5px rgba(244,160,0,.09);
}
.ik-footer-main{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(190px,.62fr) minmax(300px,.82fr);
  gap:clamp(44px,6vw,94px);
  padding:72px 0 62px;
}
.ik-footer-brand{min-width:0}
.ik-footer-brand>a{display:inline-block;margin-bottom:30px}
.ik-footer-brand img{width:190px!important;height:auto}
.ik-footer-kicker,
.ik-footer-label{
  display:block;
  margin:0 0 13px;
  color:var(--gold-2);
  font-size:10px;
  line-height:1.3;
  font-weight:850;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.ik-footer-title{
  max-width:660px;
  margin:0 0 20px;
  color:#f8f4ec;
  font-size:clamp(32px,3.3vw,52px);
  line-height:.98;
  font-weight:700;
  letter-spacing:-.045em;
}
.ik-footer-brand>p:last-of-type{
  max-width:590px;
  margin:0;
  color:#a9a194;
  font-size:15px;
  line-height:1.75;
}
.ik-footer-nav,
.ik-footer-contact{
  align-content:start;
  display:grid;
}
.ik-footer-nav{gap:0}
.ik-footer-nav a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:46px;
  border-bottom:1px solid rgba(255,255,255,.10);
  color:#e8e2d8;
  font-size:14px;
  font-weight:650;
  transition:color .2s ease,border-color .2s ease,padding-left .2s ease;
}
.ik-footer-nav a::after{content:"↗";color:#6e685f;font-size:12px;transition:color .2s ease,transform .2s ease}
.ik-footer-nav a:hover,.ik-footer-nav a:focus-visible{padding-left:6px;color:var(--gold-2);border-color:rgba(244,160,0,.36);outline:none}
.ik-footer-nav a:hover::after,.ik-footer-nav a:focus-visible::after{color:var(--gold);transform:translate(2px,-2px)}
.ik-footer-contact{
  gap:13px;
  padding:22px;
  border:1px solid rgba(244,160,0,.28);
  background:linear-gradient(145deg,rgba(244,160,0,.055),rgba(255,255,255,.018));
}
.ik-footer-contact__prompt{margin:0;color:#f6f1e8;font-size:22px;line-height:1.1;font-weight:700;letter-spacing:-.025em}
.ik-footer-contact__email{color:#bdb5a8;font-size:13px;overflow-wrap:anywhere}
.ik-footer-contact__email:hover{color:var(--gold-2)}
.ik-footer-contact .button{width:100%;margin-top:5px}
.ik-footer-wa{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:42px;
  padding:0 2px;
  border-top:1px solid rgba(255,255,255,.10);
  color:var(--gold-2)!important;
  font-size:13px;
  font-weight:800;
}
.ik-footer-wa::after{content:"↗"}
.ik-socials{display:flex;gap:8px;margin-top:24px!important}
.ik-socials a{
  width:40px!important;
  height:40px!important;
  border:1px solid rgba(255,255,255,.13)!important;
  background:rgba(255,255,255,.018);
  transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}
.ik-socials a:hover,.ik-socials a:focus-visible{transform:translateY(-2px);background:var(--gold);border-color:var(--gold)!important;color:#111;outline:none}
.ik-footer-bottom{
  max-width:none!important;
  margin:0!important;
  padding:18px 0 22px!important;
  border-top:1px solid rgba(255,255,255,.11)!important;
  display:grid!important;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:20px;
  color:#777168!important;
  font-size:11px!important;
}
.ik-footer-bottom span:nth-child(2){text-align:center}
.ik-footer-bottom a{justify-self:end;color:#9d968b;transition:color .2s ease}
.ik-footer-bottom a:hover,.ik-footer-bottom a:focus-visible{color:var(--gold-2);outline:none}

@media(max-width:980px){
  :root{--ik-site-gutter:20px}
  .ik-footer-signal{grid-template-columns:1fr auto}.ik-footer-signal__location{display:none}
  .ik-footer-main{grid-template-columns:1fr 1fr;gap:44px;padding:58px 0 50px}
  .ik-footer-brand{grid-column:1/-1}
  .ik-footer-title{max-width:720px}
}

@media(max-width:767px){
  :root{--ik-site-gutter:16px}
  .site-header{padding-left:16px!important;padding-right:16px!important}
  .ik-footer-shell{width:min(100% - 32px,var(--ik-site-max))}
  .ik-footer-signal{min-height:48px;grid-template-columns:1fr;font-size:9px}.ik-footer-signal__status{display:none}
  .ik-footer-main{grid-template-columns:1fr;gap:38px;padding:48px 0 42px}
  .ik-footer-brand{grid-column:auto}
  .ik-footer-brand>a{margin-bottom:24px}
  .ik-footer-brand img{width:160px!important}
  .ik-footer-title{font-size:34px;max-width:430px}
  .ik-footer-nav a{min-height:44px}
  .ik-footer-contact{padding:20px}
  .ik-footer-bottom{grid-template-columns:1fr;gap:7px;padding-bottom:108px!important}
  .ik-footer-bottom span:nth-child(2){text-align:left}.ik-footer-bottom a{justify-self:start}
}
