/* Shared portfolio corrections. Kept separate from the theme. */
.mil-objects, .mil-obj-1, .mil-obj-2 {display:none !important; animation:none !important;}
#smooth-content p, #smooth-content p *, #smooth-content .mil-text-sm,
#smooth-content .mil-text-md, #smooth-content .mil-text-lg,
#smooth-content .mil-stylized, #smooth-content ul.mil-text-md *,
#smooth-content ol.mil-text-md *, #smooth-content .mil-text-frame p {
 color:#000 !important; -webkit-text-fill-color:#000 !important; opacity:1 !important; visibility:visible !important;
}
#smooth-content h1, #smooth-content h2, #smooth-content h3,
#smooth-content h4, #smooth-content h5, #smooth-content h6 {color:#000;}
#smooth-content h1 .mil-a1, #smooth-content h1 .mil-a2,
#smooth-content h2 .mil-a1, #smooth-content h2 .mil-a2,
#smooth-content h3 .mil-a1, #smooth-content h3 .mil-a2 {
 color:#dd1e36 !important; -webkit-text-fill-color:#dd1e36 !important;
}
.mil-project-statement {padding:32px 0 16px !important; margin:0 !important;}
.mil-project-statement-title {text-align:left; max-width:1100px; margin:0 !important;}
.mil-project-statement .mil-project-statement-title,
.mil-project-statement .mil-project-statement-title * {color:#000 !important; -webkit-text-fill-color:#000 !important; opacity:1 !important;}
.mil-project-statement .mil-project-statement-title .mil-project-red,
.mil-project-statement .mil-project-statement-title .mil-project-red * {color:#dd1e36 !important; -webkit-text-fill-color:#dd1e36 !important;}
footer.mil-footer.mil-portfolio-footer {position:relative; padding:48px 0 64px !important; margin:0 !important; background:#fff;}
.mil-portfolio-footer::before, .mil-portfolio-footer::after {display:none !important;}
footer.mil-portfolio-footer, footer.mil-portfolio-footer * {opacity:1 !important; visibility:visible !important;}
footer.mil-portfolio-footer .mil-footer-contact {margin:0 0 64px !important;}
footer.mil-portfolio-footer .mil-footer-link, footer.mil-portfolio-footer .mil-footer-link * {color:#dd1e36 !important; -webkit-text-fill-color:#dd1e36 !important;}
footer.mil-portfolio-footer .mil-footer-menu-frame {margin:0 0 64px !important; min-height:120px; height:auto; padding:32px 0; gap:24px;}
footer.mil-portfolio-footer .mil-footer-menu, footer.mil-portfolio-footer .mil-social {padding:0; margin:0; list-style:none;}
footer.mil-portfolio-footer .mil-footer-menu {flex-wrap:wrap; gap:24px 48px;}
footer.mil-portfolio-footer .mil-footer-menu li {margin:0;}
footer.mil-portfolio-footer .mil-footer-menu a, footer.mil-portfolio-footer .mil-footer-menu a *,
footer.mil-portfolio-footer .mil-social a, footer.mil-portfolio-footer .mil-footer-bottom p {color:#000 !important; -webkit-text-fill-color:#000 !important;}
footer.mil-portfolio-footer .mil-footer-bottom, footer.mil-portfolio-footer .mil-footer-bottom p {margin:0 !important;}
#smooth-content {margin-bottom:0 !important; padding-bottom:0 !important;}
@media(max-width:768px) {
 .mil-project-statement {padding:24px 0 12px !important;}
 footer.mil-footer.mil-portfolio-footer {padding:32px 0 40px !important;}
 footer.mil-portfolio-footer .mil-footer-contact {margin-bottom:40px !important;}
 footer.mil-portfolio-footer .mil-footer-menu-frame {margin-bottom:40px !important;}
 footer.mil-portfolio-footer .mil-footer-menu {gap:20px 28px;}
}

/* Site-wide widow avoidance: balance headlines and keep body-copy endings fuller. */
#smooth-content h1,
#smooth-content h2,
#smooth-content h3,
#smooth-content h4,
#smooth-content h5,
#smooth-content h6 {
  text-wrap: balance;
}
#smooth-content p,
#smooth-content li,
#smooth-content blockquote,
#smooth-content figcaption,
#smooth-content .mil-text-sm,
#smooth-content .mil-text-md,
#smooth-content .mil-text-lg {
  text-wrap: pretty;
  orphans: 2;
  widows: 2;
}

/* Match the experience controls and quotation badges to the heading red. */
#reviews .mil-slider-btn,
#reviews .mil-review .mil-portrait::after {
  background-color: #dd1e36 !important;
}
#reviews .mil-a2 { color: #dd1e36 !important; }

/* Halve the current 60px details-to-gallery spacing. */
.mil-case-details .mil-mb160 { margin-bottom: 30px; }

/* Remove excess white canvas above wide gallery artwork, preserving the full composition. */
.mil-project-slider .mil-project-img.mil-gallery-square { padding-bottom: 100%; }

/* Keep scrolling page content fully hidden behind the black navigation bar. */
.mil-top-panel-2 { transition-property: height, border-color, filter; }
.mil-top-panel-2.mil-scroll,
.mil-top-panel-2.mil-scroll.mil-menu-open {
  background-color: #000 !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

/* Remove half the empty top/bottom canvas without scaling or clipping artwork. */
.mil-project-slider .mil-project-img.mil-gallery-trimmed { padding-bottom: var(--mil-gallery-ratio); }
.mil-project-slider .mil-gallery-trimmed img {
  height: auto; top: 0; margin-top: var(--mil-gallery-offset);
}

/* Mobile/iPad navigation contains only the desktop destinations. */
.ivette-mobile-toggle { display: none; }
.ivette-mobile-menu[hidden] { display: none !important; }
.ivette-mobile-menu {
  position: absolute; top: 100%; left: 0; right: 0; z-index: 1;
  background: #000; border-top: 1px solid rgba(255,255,255,.15);
  padding: 20px max(24px, calc((100vw - 1140px)/2));
  max-height: calc(100dvh - 100px); overflow-y: auto; overscroll-behavior: contain;
}
.ivette-mobile-links, .ivette-mobile-submenu { list-style: none; margin: 0; padding: 0; }
.ivette-mobile-links > li { margin: 0; padding: 0; }
.ivette-mobile-menu a, .ivette-mobile-menu summary {
  display: block; padding: 12px 0; color: #d2d2d0; font-family: inherit;
  font-size: 20px; font-weight: 600; line-height: 1.3; text-decoration: none;
}
.ivette-mobile-menu summary { cursor: pointer; list-style: none; }
.ivette-mobile-menu summary::-webkit-details-marker { display: none; }
.ivette-mobile-menu summary::after { content: '+'; float: right; }
.ivette-mobile-menu details[open] > summary::after { content: '−'; }
.ivette-mobile-submenu { padding: 0 0 8px 20px; }
.ivette-mobile-submenu a { font-size: 18px; font-weight: 500; }
.ivette-mobile-menu a:hover, .ivette-mobile-menu a:focus-visible,
.ivette-mobile-menu summary:hover, .ivette-mobile-menu summary:focus-visible { color: #dd1e36; }
.ivette-mobile-toggle:focus-visible, .ivette-mobile-menu a:focus-visible,
.ivette-mobile-menu summary:focus-visible { outline: 2px solid #dd1e36; outline-offset: 4px; }
.mil-top-panel-2.ivette-mobile-nav-open { background-color: #000 !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
@media (max-width: 1199px), (hover: none), (pointer: coarse) {
  .mil-top-panel-2 .mil-onepage-nav { display: none !important; }
  .mil-top-panel-2 .mil-logo img { width: clamp(150px, 35vw, 220px); height: auto; }
  .mil-top-panel-2 .mil-buttons-tp-frame { padding: 0; }
  .mil-top-panel-2 .mil-buttons-tp-frame .mil-buttons { gap: 12px; transform: none; }
  .mil-top-panel-2 .mil-buttons-tp-frame .mil-tp-btn { margin: 0; }
  .ivette-mobile-toggle {
    display: flex; flex-direction: column; justify-content: center; align-items: center;
    width: 44px; height: 44px; gap: 6px; padding: 8px;
    border: 0; border-radius: 0; background: transparent; color: #d2d2d0; cursor: pointer;
  }
  .ivette-mobile-toggle span { display: block; width: 26px; height: 2px; background: currentColor; transition: transform .2s, opacity .2s; }
  .ivette-mobile-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
  .ivette-mobile-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .ivette-mobile-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
}
/* Include the outcome paragraph's trailing margin in the spacing reduction. */
.mil-case-details .col-lg-5 > p:last-child { margin-bottom: 10px; }
@media (min-width: 992px) {
  .mil-case-details + div { margin-top: -20px; }
}

.ivette-desktop-spacer { margin-right: 0 !important; }
@media (max-width: 1199px), (hover: none), (pointer: coarse) {
  .ivette-desktop-spacer { display: none !important; }
}

@media (max-width: 1199px), (hover: none), (pointer: coarse) {
  .mil-top-panel-2 .mil-buttons-tp-frame {
    position: absolute; right: 24px; top: 50%; transform: translateY(-50%);
  }
}

/* Portfolio callout: arrow, white project name and red label inside one black square. */
.mil-work-card .mil-hover-overlay .mil-descr {
  display: flex !important; justify-content: flex-end !important;
  height: 120px; padding: 0 !important; align-items: stretch;
}
.mil-work-card .mil-hover-overlay .mil-descr > .mil-768-gone {
  display: block !important; flex: 0 0 120px; width: 120px;
}
.mil-work-card .mil-stylized-btn.mil-a1 {
  display: grid !important; grid-template-rows: 1fr auto auto;
  align-items: end; justify-items: end; gap: 2px;
  width: 120px !important; height: 120px !important;
  padding: 10px 20px 18px !important; box-sizing: border-box;
  background: #000 !important; text-align: right;
}
.mil-work-card .mil-stylized-btn.mil-a1 i {
  align-self: start; margin: 0 !important; font-size: 34px !important;
  transform: rotate(45deg) !important; color: #dd1e36 !important;
}
.mil-work-card .mil-stylized-btn.mil-a1 h4 {
  display: -webkit-box; width: 100%; margin: 0; padding: 0;
  font-family: "Outfit", sans-serif !important;
  font-size: 12px !important; font-weight: 700;
  line-height: 14px; letter-spacing: .5px; max-height: 28px;
  -webkit-box-orient: vertical; -webkit-line-clamp: 2;
  text-transform: uppercase; white-space: normal;
  overflow: hidden; text-overflow: ellipsis;
  color: #fff !important; -webkit-text-fill-color: #fff !important;
}
.mil-work-card .mil-stylized-btn.mil-a1 span {
  display: block !important; padding: 0 !important; margin: 0;
  font-size: 12px; line-height: 14px; white-space: nowrap;
  color: #dd1e36 !important;
}

/* Stack the case-study introduction on phones and iPads, including landscape touch screens. */
@media (max-width: 1199px), (hover: none), (pointer: coarse) {
  .mil-case-details > .container > .row { flex-direction: column; }
  .mil-case-details > .container > .row > .col-lg-6,
  .mil-case-details > .container > .row > .col-lg-5 {
    flex: 0 0 auto; width: 100%; max-width: 100%;
  }
  .mil-case-details .col-lg-6.mil-mb160 { margin-bottom: 24px; }
  .mil-case-details .col-lg-5.mil-mb160 { margin-bottom: 30px; }
  .mil-case-details .col-lg-5 > .mil-mb40 { margin-bottom: 24px; }
  .mil-case-details + div { margin-top: 0; }
}

/* Experience artwork replaces template headshots in uncropped square frames. */
#reviews .mil-review .mil-portrait {
  width: min(240px, 60vw); height: auto; aspect-ratio: 1;
  border-radius: 0; border: 2px solid #ccc; background: #fff;
  box-sizing: border-box; overflow: hidden;
}
#reviews .mil-review .mil-portrait img {
  display: block; position: absolute; inset: 0;
  width: 100%; height: 100%; border-radius: 0;
  object-fit: contain; object-position: center;
}
#reviews .mil-review .mil-portrait::after { content: none; display: none; }
#reviews .mil-rs-nav {
  top: calc((min(240px, 60vw) - 50px) / 2);
  width: 100%; left: 0;
}

/* Center complete artwork while letting surplus white canvas extend beyond the frame. */
#reviews .mil-review .mil-portrait img {
  inset: auto; left: var(--art-left, 0); top: var(--art-top, 0);
  width: var(--art-width, 100%); height: var(--art-height, 100%);
  max-width: none;
}

/* Requested spacing refinements, November 2026. */
.mil-top-panel-2 .mil-buttons-tp-frame .mil-buttons {
  gap: 6px !important;
}
.mil-top-panel-2 .mil-buttons-tp-frame .mil-buttons .mil-tp-btn {
  margin: 0 !important;
}
#reviews .ivette-retail-eyebrow { margin: 0 0 8px !important; }
#reviews .ivette-retail-eyebrow + h2 { margin-top: 0 !important; }
@media (min-width: 993px) {
  footer.mil-portfolio-footer .mil-footer-menu { gap: 18px 36px; }
  footer.mil-portfolio-footer .mil-footer-menu-frame {
    min-height: 90px; padding: 24px 0; margin-bottom: 48px !important;
  }
}
@media (max-width: 768px) {
  .ivette-closing-statement { padding-bottom: 20px !important; }
  .ivette-closing-statement h2 { margin-bottom: 20px !important; }
  .ivette-closing-statement .mil-text-with-button { display: none; }
  .ivette-closing-statement + footer.mil-portfolio-footer {
    padding-top: 30.666667px !important;
  }
}

@media (max-width: 1199px), (hover: none), (pointer: coarse) {
  .ivette-mobile-toggle { align-items: flex-start; padding: 8px 0; }
}

/* Mobile refinements and case-study rhythm. */
.mil-case-details ul.mil-text-md { padding-left: 1.15em; list-style-position: outside; }
.mil-case-details ul.mil-text-md li { padding-left: .15em; }
.ivette-mobile-menu a, .ivette-mobile-menu summary,
.ivette-mobile-submenu a {
  font-size: 12px; font-weight: 600; letter-spacing: 1px;
  text-transform: uppercase; line-height: 1;
}
.mil-top-panel-2 .mil-buttons-tp-frame .mil-buttons { gap: 13px !important; }
#reviews .mil-slider-btn.swiper-button-disabled,
.mil-slider-btn.swiper-button-disabled {
  opacity: .25 !important; cursor: default; pointer-events: none;
}
.ivette-portfolio-heading { margin-bottom: 50px !important; }
#reviews .mil-review > p.mil-text-lg {
  padding-top: 10px; padding-bottom: 10px; margin-bottom: 0;
}
#reviews { padding-bottom: 10px; }
#reviews .mil-reviews-slider .swiper-wrapper { align-items: stretch; }
#reviews .mil-reviews-slider .swiper-slide { height: auto; }
@media (max-width: 768px) {
  #services .mil-services-list { border-bottom: 1px solid #181817; }
  #services .mil-services-list .mil-service-item {
    border-top: 1px solid #181817; padding-top: 30px; margin-bottom: 0;
  }
  .mil-hero-1.mil-sm-hero.mil-stl .mil-hero-main {
    height: auto; min-height: 0; padding: 130px 15px 30px;
  }
  .mil-hero-1.mil-sm-hero .mil-hero-text { padding: 0 !important; transform: none !important; }
  .mil-sm-hero .mil-breadcrumbs { margin-bottom: 30px; }
  .mil-sm-hero h1 { margin-bottom: 0; }
  .mil-case-details { padding-top: 0; padding-bottom: 0; }
  .mil-case-details .col-lg-6.mil-mb160 { margin-bottom: 0; }
  .mil-case-details .col-lg-5.mil-mb160 {
    padding-top: 30px; padding-bottom: 30px; margin-bottom: 0;
  }
  .mil-case-details .col-lg-5 > p:last-child { margin-bottom: 0; }
  .mil-case-details .ivette-case-lead { padding-bottom: var(--case-art-ratio); }
  .mil-case-details .ivette-case-lead img {
    height: auto; top: 0; margin-top: var(--case-art-offset); object-fit: contain;
  }
}

/* Match packaging's separate title row to the Graphic Design title-to-image gap. */
.ivette-portfolio-title-row { margin-bottom: 0 !important; }
/* Keep the desktop closing-to-footer clearance at three quarters of its prior size. */
@media (min-width: 993px) {
  .ivette-closing-statement { padding-bottom: 75px !important; }
  .ivette-closing-statement h2,
  .ivette-closing-statement .mil-text-with-button { margin-bottom: 45px !important; }
  .ivette-closing-statement + footer.mil-portfolio-footer { padding-top: 36px !important; }
}

/* Balance the space above and below the retail image. */
#reviews .ivette-retail-eyebrow + h2 { margin-bottom: 30px !important; }
#reviews .mil-review .mil-portrait { margin-bottom: 30px !important; }

/* Keep closing phrases separate at every screen size. */
.ivette-closing-title .ivette-closing-line {
  display: block; margin: 0; padding: 0;
  color: #000 !important; -webkit-text-fill-color: #000 !important;
}
.ivette-closing-title .ivette-closing-red {
  color: #dd1e36 !important; -webkit-text-fill-color: #dd1e36 !important;
}

/* Hover previews stay diagonal; pressing or tapping turns the arrow right. */
.mil-work-card .mil-stylized-btn.mil-a1 i {
  transition: transform .18s ease;
}
.mil-work-card:active .mil-stylized-btn.mil-a1 i,
.mil-work-card.ivette-card-clicked .mil-stylized-btn.mil-a1 i,
.mil-work-card.ivette-card-revealed .mil-stylized-btn.mil-a1 i {
  transform: rotate(90deg) !important;
}

/* Mobile gallery controls make additional project photos discoverable. */
.ivette-project-gallery-nav { display: none; }
@media (max-width: 991px) {
  .ivette-project-gallery-nav {
    display: flex; align-items: center; justify-content: space-between;
    gap: 16px; margin-top: 16px; min-height: 44px;
  }
  .ivette-project-gallery-nav button {
    display: flex; align-items: center; justify-content: center;
    flex: 0 0 44px; width: 44px; height: 44px;
    border: 0; padding: 0; background: transparent;
    color: #dd1e36; font-size: 22px; cursor: pointer;
  }
  .ivette-project-gallery-nav button.swiper-button-disabled {
    color: #000; opacity: 1; cursor: default; pointer-events: none;
  }
  .ivette-project-pagination {
    display: flex; flex-wrap: wrap; justify-content: center;
    align-items: center; gap: 8px;
  }
  .ivette-project-pagination .swiper-pagination-bullet {
    width: 8px; height: 8px; margin: 0; border-radius: 50%;
    background: #000; opacity: 1;
  }
  .ivette-project-pagination .swiper-pagination-bullet-active { background: #dd1e36; }
  .ivette-project-gallery-nav button:focus-visible,
  .ivette-project-pagination .swiper-pagination-bullet:focus-visible {
    outline: 2px solid #dd1e36; outline-offset: 4px;
  }
  .ivette-project-gallery-nav .swiper-button-lock,
  .ivette-project-gallery-nav .swiper-pagination-lock { display: none; }
  .ivette-project-gallery-nav:has(.swiper-pagination-lock) { display: none; }
}

/* Skills headings lead to their matching portfolio categories. */
#services .ivette-skill-link {
  color: #dd1e36; font: inherit; text-decoration: none;
}
#services .ivette-skill-link i {
  display: inline-block; font-size: .65em; vertical-align: .05em;
  margin-left: .25em; transform: rotate(45deg);
}
#services .ivette-skill-link:focus-visible {
  outline: 2px solid #dd1e36; outline-offset: 5px;
}
