/*
 * Northshore Gen — phone-first experience
 * This layer is intentionally limited to phones. Desktop and iPad retain the
 * existing cinematic scroll treatment; phones use a direct editorial flow.
 */

@media (max-width: 767px) {
  :root {
    --ns-phone-gutter: clamp(1.15rem, 5.15vw, 1.45rem);
  }

  html { scroll-padding-top: 4.35rem; }
  body { overflow-x: clip; }
  body, button, a { -webkit-tap-highlight-color: rgba(189, 142, 73, .2); }

  /* Header: one centered identity, two clear touch targets. */
  #site-header,
  .site-header { height: 4.35rem; }
  #site-header .header-inner {
    grid-template-columns: 2.85rem minmax(0, 1fr) 3.55rem;
    min-height: 4.35rem;
    padding-inline: var(--ns-phone-gutter);
    gap: .35rem;
  }
  #site-header .ns-story-trigger--header,
  #site-header .ns-header-work-link,
  #site-header .kg-connect-toggle .kg-toggle-copy { display: none; }
  #site-header .site-header__brand {
    min-height: 44px;
    font-family: "Playfair Display", Georgia, serif !important;
    font-size: clamp(.9rem, 4vw, 1.04rem);
    font-weight: 600;
    letter-spacing: -.035em;
    white-space: nowrap;
  }
  #site-header .kg-social-header-actions,
  #site-header .kg-header-actions { min-width: 0; }
  #site-header .kg-social-header-actions { justify-self: start; }
  #site-header .kg-header-actions { justify-self: end; }
  #site-header .kg-menu-toggle { min-width: 44px; min-height: 44px; margin: 0; padding: .45rem .12rem; }
  #site-header .kg-header-actions .kg-menu-toggle { gap: .32rem; font-size: .76rem; letter-spacing: .04em; }
  #site-header .kg-header-actions .kg-toggle-icon { width: 1.05rem; height: 1.05rem; }

  /* Full-screen menu is purpose-built for a thumb, not a collapsed desktop nav. */
  .kg-menu__panel { padding: calc(4.35rem + env(safe-area-inset-top) + 1.75rem) var(--ns-phone-gutter) max(2rem, env(safe-area-inset-bottom)); }
  .kg-menu__list { align-items: flex-start; justify-content: flex-start; gap: .2rem; }
  .kg-menu__link { width: 100%; min-height: 3.25rem; padding: .62rem 0; }
  .kg-menu__link span { font-size: clamp(2.15rem, 10vw, 3.25rem); line-height: 1; }

  /* Home hero: a single composed opening screen, with no phone scroll scrub. */
  .ns-hero { min-height: 0; }
  .ns-hero__stage {
    position: relative;
    height: min(48rem, 100svh);
    min-height: 42rem;
    align-items: flex-end;
    padding: calc(4.35rem + env(safe-area-inset-top) + 3.4rem) var(--ns-phone-gutter) max(2rem, calc(1.75rem + env(safe-area-inset-bottom)));
    overflow: hidden;
  }
  .ns-hero__stage::after {
    z-index: 0;
    background: linear-gradient(180deg, rgba(5,5,4,.72) 0%, rgba(5,5,4,.12) 29%, rgba(5,5,4,.22) 47%, rgba(5,5,4,.97) 88%, #050504 100%);
  }
  .ns-hero__media {
    --hero-x-inset: 0px !important;
    --hero-y-inset: 0px !important;
    --hero-radius: 0px !important;
    --hero-scale: 1 !important;
    z-index: -1;
    clip-path: none;
    transform: none;
  }
  .ns-hero__media img { object-position: 62% center; }
  .ns-background-paths { z-index: 1; opacity: .2; }
  .ns-hero__copy { max-width: 21rem; transform: none !important; opacity: 1 !important; }
  .ns-hero .ns-kicker { max-width: 15rem; margin-bottom: 1rem; font-size: .56rem; letter-spacing: .14em; line-height: 1.45; }
  .ns-hero h1 { font-size: clamp(3.8rem, 17.1vw, 4.7rem); line-height: .9; letter-spacing: -.075em; }
  .ns-lede { max-width: 20rem; margin: 1.35rem 0 1.65rem; font-size: .93rem; line-height: 1.65; }
  .ns-actions { display: grid; width: min(100%, 20rem); gap: .9rem; }
  .ns-button { min-height: 3.25rem; padding: .95rem 1.05rem; font-size: .67rem; text-align: left; }
  .ns-text-link { min-height: 2.75rem; display: inline-flex; align-items: center; width: fit-content; font-size: .72rem; letter-spacing: .025em; }

  /* Content becomes an editorial reading sequence with generous tap targets. */
  .ns-capabilities,
  .ns-problem,
  .ns-work-gallery { padding: 4.75rem var(--ns-phone-gutter); }
  .ns-section-heading h2,
  .ns-work-gallery h2 { font-size: clamp(2.65rem, 12.5vw, 3.35rem); line-height: .94; }
  .ns-section-heading .ns-kicker,
  .ns-work-gallery .ns-kicker { margin-bottom: .9rem; font-size: .58rem; letter-spacing: .15em; }
  .ns-capability-grid { grid-template-columns: 1fr; margin-top: 2.5rem; border-bottom: 1px solid var(--ns-line); }
  .ns-capability-grid article,
  .ns-capability-grid article:first-child { min-height: 0; padding: 0; border-left: 0; border-right: 0; border-top: 1px solid var(--ns-line); }
  .ns-capability-panel__trigger { min-height: 4.35rem; padding: 1rem 0; }
  .ns-capability-panel__body { padding: 0 0 1.5rem; }

  /* The process remains visually rich but stops being a multi-viewport sticky scene. */
  .ns-process { padding: 4.75rem 0 0; overflow: hidden; }
  .ns-process__orbit { min-height: 40rem; padding-top: 0; }
  .ns-process__orbit > .ns-section-heading { position: relative; top: auto; width: auto; height: auto; margin: 0 var(--ns-phone-gutter) 2.2rem; text-align: left; filter: none; transform: none !important; }
  .ns-process__orbit > .ns-section-heading h2 { font-size: clamp(2.65rem, 12.5vw, 3.25rem); text-shadow: none; }
  .ns-process__sphere-shell { position: relative; height: 31rem; top: auto; }
  .ns-process__core { --process-core-y: 50%; width: min(81vw, 22rem); min-height: min(81vw, 22rem); padding: 2.35rem; }
  .ns-process__core strong { font-size: clamp(2.45rem, 12vw, 3.2rem); }
  .ns-process__core > p { font-size: .78rem; line-height: 1.58; }
  .ns-process__core > div { margin-top: .95rem; }
  .ns-process__core em { bottom: -3.15rem; font-size: .48rem; }
  .ns-process__depth-labels { font-size: .47rem; letter-spacing: .12em; }
  .ns-process__depth-labels span:nth-child(1) { transform: translate(-50%,-41vw); }
  .ns-process__depth-labels span:nth-child(2) { transform: translate(34vw,-50%); }
  .ns-process__depth-labels span:nth-child(3) { transform: translate(-50%,41vw); }
  .ns-process__depth-labels span:nth-child(4) { transform: translate(-38vw,-50%); }

  /* Contact turns into clean full-width choices rather than floating desktop coordinates. */
  .ns-signal-field { min-height: auto; padding: 4.75rem var(--ns-phone-gutter) 5.5rem; }
  .ns-signal-field__content { max-width: 100%; }
  .ns-signal-field h2 { font-size: clamp(3rem, 14vw, 3.8rem); }
  .ns-signal-field__lede { font-size: .93rem; line-height: 1.65; }
  .ns-signal-field__cta { min-height: 3.35rem; width: 100%; justify-content: space-between; }
  .ns-signal-field__links { position: relative; inset: auto; display: grid; grid-template-columns: 1fr 1fr; gap: .7rem .9rem; margin: 2.75rem 0 0; }
  .ns-signal-link { position: relative; left: auto; top: auto; width: auto; min-height: 2.85rem; justify-content: space-between; border-bottom: 1px solid rgba(189,142,73,.5); font-size: .61rem; opacity: 1; }
  .ns-signal-link--email { grid-column: 1 / -1; }

  /* Work page: phone cards and real media lead; no five-column desktop rail. */
  .page-work .ns-page-hero,
  .ns-page-hero { min-height: 0; padding: calc(4.35rem + env(safe-area-inset-top) + 3.4rem) var(--ns-phone-gutter) 3.25rem; }
  .page-work .ns-page-hero h1,
  .ns-page-hero h1 { font-size: clamp(3.25rem, 14.8vw, 4.1rem); }
  .ns-page-hero__aside { gap: .85rem; padding: 0; }
  .ns-page-hero .ns-lede { font-size: .93rem; }
  .page-work .ns-work-gallery { padding: 0 var(--ns-phone-gutter) 5rem; }
  .ns-complete-work__intro { display: block; margin: 0 0 2.75rem; padding-top: 4.5rem; }
  .ns-complete-work__intro h2 { font-size: clamp(2.7rem, 12.5vw, 3.35rem); }
  .ns-complete-work__aside { margin-top: 1.35rem; font-size: .9rem; }
  /* The Work page retains its existing thumb-scroll system reel on phones. */

  .ns-story-panel { padding: 0 var(--ns-phone-gutter); }
  .ns-story-panel__inner { min-height: 100svh; padding: calc(4.35rem + env(safe-area-inset-top) + 2.2rem) 0 max(2rem, env(safe-area-inset-bottom)); }
  .ns-story-panel__copy h2 { font-size: clamp(3rem, 14vw, 4rem); }
  .ns-story-panel__actions a { min-height: 3rem; }

  .ns-utility-footer { padding: 2.4rem var(--ns-phone-gutter) max(1.75rem, env(safe-area-inset-bottom)); }
  .ns-utility-footer__legal { grid-template-columns: 1fr; gap: 1.25rem; }
  .ns-utility-footer__brand { font-size: 1.08rem; }

  .rivet-fab { z-index: 10010; box-shadow: 0 10px 28px rgba(0,0,0,.42); }
}

@media (max-width: 359px) {
  #site-header .site-header__brand { font-size: .83rem; }
  .ns-hero h1 { font-size: 3.42rem; }
  .ns-actions { width: 100%; }
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  .ns-background-paths path { animation: none; }
  .ns-hero__copy,
  .ns-hero__media,
  .ns-process__core { transition: none !important; }
}

/* --------------------------------------------------------------------------
   Phone IA rebuild: this final phone-only layer intentionally replaces the
   desktop scenes rather than attempting to make their geometry smaller.
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
  html.rivet-phone-open,
  body.rivet-phone-open { overflow: hidden; overscroll-behavior: none; }

  /* A compact, naturally scrolling service accordion — no calculated stage. */
  .ns-capabilities {
    min-height: 0 !important;
    padding: 5rem var(--ns-phone-gutter) 3.5rem !important;
    scroll-margin-top: calc(var(--header-height, 64px) + 1rem);
  }
  .ns-capabilities__stage {
    position: static !important;
    top: auto !important;
    height: auto !important;
    min-height: 0 !important;
    display: block !important;
    overflow: visible !important;
    padding: 0 !important;
  }
  .ns-capabilities__stage .ns-section-heading h2 { font-size: clamp(2.5rem, 12vw, 3.3rem) !important; }
  .ns-capability-grid[data-capability-accordion] { display: block !important; min-height: 0 !important; margin-top: 2.5rem !important; }
  .ns-capability-grid[data-capability-accordion] article,
  .ns-capability-grid[data-capability-accordion] article[data-active="true"] {
    display: block !important;
    min-height: 0 !important;
    background: #0d0d0c;
    border-right: 0 !important;
  }
  .ns-capability-panel__trigger {
    min-height: 5rem !important;
    grid-template-columns: auto minmax(0, 1fr);
    justify-content: space-between;
    gap: .9rem;
    padding: 1.15rem 1rem !important;
  }
  .ns-capability-panel__trigger > strong {
    justify-self: end;
    min-width: 0;
    font-size: .72rem;
    letter-spacing: .075em;
    text-align: right;
    white-space: nowrap;
  }
  .ns-capability-grid[data-capability-accordion] article:not([data-active="true"]) .ns-capability-panel__body { display: none !important; }
  .ns-capability-grid[data-capability-accordion] article[data-active="true"] .ns-capability-panel__body {
    display: block !important;
    min-width: 0 !important;
    padding: .35rem 1rem 1.85rem !important;
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
  }
  .ns-capability-grid[data-capability-accordion] .ns-capability-panel__body h3 { max-width: 14ch !important; font-size: clamp(1.85rem, 8.4vw, 2.45rem) !important; }
  .ns-capability-grid[data-capability-accordion] .ns-capability-panel__body p { font-size: .9rem !important; line-height: 1.62 !important; }

  /* How We Work becomes the readable four-step delivery list. */
  .ns-process { padding: 3.25rem var(--ns-phone-gutter) 4.5rem !important; overflow: visible !important; }
  .ns-process__orbit { min-height: 0 !important; padding: 0 !important; }
  .ns-process__orbit > .ns-section-heading { margin: 0 0 2.25rem !important; }
  .ns-process__sphere-shell { display: none !important; }
  .ns-process__orbit-list {
    position: static !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .ns-process__step,
  .ns-process__step[data-active="true"] {
    position: static !important;
    display: grid !important;
    grid-template-columns: 2.5rem 1fr !important;
    grid-template-areas: "number title" "number copy" "number deliverable" !important;
    width: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 1.35rem 0 !important;
    color: var(--ns-bone) !important;
    border-top: 1px solid var(--ns-line) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
  .ns-process__step:last-child { border-bottom: 1px solid var(--ns-line) !important; }
  .ns-process__step > span { grid-area: number; color: var(--ns-gold); font: 500 .66rem/1.55 "DM Mono", monospace; }
  .ns-process__step h3 { grid-area: title; margin: 0 !important; font: 500 1.35rem/1.1 "Playfair Display", Georgia, serif !important; }
  .ns-process__step > p { grid-area: copy; margin: .45rem 0 .8rem !important; font-size: .88rem !important; line-height: 1.6 !important; }
  .ns-process__step > div { grid-area: deliverable; margin: 0 !important; }
  .ns-process__step small { display: block; margin-bottom: .25rem; color: var(--ns-gold); font: 500 .55rem/1.45 "DM Mono", monospace; letter-spacing: .1em; }
  .ns-process__step strong { font-size: .78rem; line-height: 1.45; }

  /* One compact, real-media invitation replaces a homepage portfolio repeat. */
  .ns-work-invitation {
    display: grid;
    gap: 1.35rem;
    padding: 3.95rem var(--ns-phone-gutter);
    border-top: 1px solid var(--ns-line);
    background: #0c0c0b;
  }
  .ns-work-invitation__media { margin: 0; overflow: hidden; border: 1px solid rgba(189,142,73,.35); background: #12110f; }
  .ns-work-invitation__media img { display: block; width: 100%; height: auto !important; aspect-ratio: 16 / 9; object-fit: cover; object-position: top center; }
  .ns-work-invitation__copy h2 { margin: 0; font: 500 clamp(2.15rem, 10vw, 2.95rem)/.98 "Playfair Display", Georgia, serif; letter-spacing: -.05em; }
  .ns-work-invitation__copy > p:not(.ns-kicker) { margin: 1.1rem 0 1.35rem; color: var(--ns-muted); font-size: .9rem; line-height: 1.65; }

  /* The contact close is a normal reading order, not a coordinate field. */
  .ns-signal-field { display: flex; flex-direction: column; min-height: 0 !important; padding: 4.5rem var(--ns-phone-gutter) 4rem !important; }
  .ns-signal-field__content { order: 2; }
  .ns-signal-field__links { order: 3; grid-template-columns: 1fr 1fr !important; margin-top: 2rem !important; }
  .ns-signal-field__network, .ns-signal-field__matrix, .ns-signal-field__cursor, .ns-signal-field__hint { display: none !important; }

  .site-footer.ns-utility-footer {
    min-height: 300px !important;
    display: flex;
    align-items: center;
    padding: 2rem var(--ns-phone-gutter) max(2rem, env(safe-area-inset-bottom)) !important;
  }
  .ns-utility-footer__legal { gap: .8rem; }
  .ns-utility-footer__brand {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
  }
  .ns-utility-footer__contact {
    display: inline-flex;
    width: fit-content;
    min-height: 44px;
    align-items: center;
    color: var(--ns-gold);
    font: 600 .64rem/1 "DM Mono", monospace;
    letter-spacing: .08em;
    text-decoration: none;
    text-transform: uppercase;
  }

  /* Mobile full-screen story sheets never become a second scroll container. */
  .ns-story-panel {
    inset: 0 !important;
    z-index: 10030 !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip-path: inset(0) !important;
    transform: none !important;
    transition: opacity .18s ease, visibility 0s linear .18s !important;
  }
  .ns-story-panel[data-story-state="open"] { transition-delay: 0s !important; }
  .ns-story-panel__inner { min-height: 100dvh !important; max-height: 100dvh !important; display: flex !important; flex-direction: column; justify-content: flex-end !important; padding: calc(4.35rem + env(safe-area-inset-top) + 1.25rem) var(--ns-phone-gutter) max(1.35rem, env(safe-area-inset-bottom)) !important; overflow: hidden !important; }
  .ns-story-panel__close { top: max(1rem, env(safe-area-inset-top)) !important; right: var(--ns-phone-gutter) !important; width: 44px !important; height: 44px !important; }
  .ns-story-panel__copy { max-width: 100% !important; }
  .ns-story-panel__copy h2 { font-size: clamp(2.35rem, 12vw, 3.35rem) !important; }
  .ns-story-panel__copy > p:not(.ns-story-panel__kicker) { margin-top: 1.1rem !important; font-size: .87rem !important; line-height: 1.55 !important; }
  .ns-story-panel__actions { margin-top: 1.35rem; }
  .ns-story-panel__actions a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 1rem; border: 1px solid var(--ns-gold); color: var(--ns-bone); font: 600 .65rem/1 "DM Mono", monospace; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
  .ns-story-panel--work .ns-story-work__proof { display: none !important; }

  /* Work is a short introduction, three proof rows, then one clear reel. */
  .page-work .ns-work-preview { padding: 7.75rem var(--ns-phone-gutter) 0 !important; }
  .page-work .ns-work-preview__header { display: block !important; width: auto !important; margin: 0 0 2.35rem !important; }
  .page-work .ns-work-preview__header h1 { font-size: clamp(3rem, 14vw, 4.15rem) !important; }
  .page-work .ns-work-preview__header > p { margin-top: 1.2rem !important; font-size: .92rem; line-height: 1.65; }
  .page-work .ns-work-preview__list { gap: .9rem !important; padding: 0 !important; }
  .page-work .ns-featured-case { border: 1px solid rgba(189,142,73,.34) !important; }
  .page-work .ns-featured-case__media img { aspect-ratio: 16 / 9; object-fit: cover !important; }
  .page-work .ns-featured-case__copy { padding: 1rem 1rem 1.1rem !important; }
  .page-work .ns-featured-case h2 { font-size: 1.7rem !important; }
  .page-work .ns-featured-case__number { margin-bottom: .55rem !important; }
  .page-work .ns-featured-case__copy > p:not(.ns-featured-case__number) { margin: .65rem 0 .85rem !important; font-size: .84rem; line-height: 1.55; }
  .page-work .ns-work-preview__footer { padding: 2.25rem 0 3.5rem !important; }

  .page-work .ns-work-gallery { padding: 0 var(--ns-phone-gutter) 3.5rem !important; }
  .page-work .ns-complete-work__intro { margin-bottom: 1.75rem !important; padding-top: 3.9rem !important; }
  .page-work .ns-complete-work__intro h2 { font-size: clamp(2.45rem, 11.7vw, 3.2rem) !important; }
  .ns-work-family-select { display: grid; gap: .5rem; margin: 0 0 1rem; color: var(--ns-gold); font: 500 .62rem/1.4 "DM Mono", monospace; letter-spacing: .1em; text-transform: uppercase; }
  .ns-work-family-select select { width: 100%; min-height: 48px; padding: 0 .85rem; border: 1px solid rgba(189,142,73,.6); border-radius: 0; background: #11110f; color: var(--ns-bone); font: 600 .78rem/1.2 Manrope, sans-serif; }
  .page-work .ns-work-gallery .ns-work-rail { display: none !important; }
  .page-work .ns-system-reel { margin: 0 !important; clip-path: none !important; }
  .page-work .ns-reel-chapters { display: none !important; }
  .page-work .ns-system-reel__footer { padding: .85rem !important; }
  .page-work .ns-reel-transport { display: grid !important; grid-template-columns: 1fr 1.35fr 1fr; }
  .page-work .ns-reel-transport button { min-height: 48px !important; }

  /* A concise work footer instead of the desktop four-column landing. */
  .page-work .luxury-footer { min-height: 0 !important; padding: 2rem var(--ns-phone-gutter) max(1.5rem, env(safe-area-inset-bottom)) !important; }
  .page-work .luxury-footer .footer-grid { grid-template-columns: 1fr 1fr !important; gap: 1.25rem !important; }
  .page-work .luxury-footer .brand-col { grid-column: 1 / -1; }
  .page-work .luxury-footer .footer-brand__desc,
  .page-work .luxury-footer .footer-brand__status,
  .page-work .luxury-footer .footer-col__title,
  .page-work .luxury-footer .site-footer__meta { display: none !important; }
  .page-work .luxury-footer .contact-col { grid-column: 1 / -1; }
  .page-work .luxury-footer .footer-contact-block { padding: 0; border: 0; border-radius: 0; background: transparent; backdrop-filter: none; }
  .page-work .luxury-footer .footer-contact-block .footer-text-muted { display: none; }
  .page-work .luxury-footer .footer-links,
  .page-work .luxury-footer .footer-social-list { gap: .2rem; }
  .page-work .luxury-footer .footer-link,
  .page-work .luxury-footer .social-link-item { min-height: 44px; padding: .25rem 0; border: 0; background: transparent; font-size: .78rem; }
  .page-work .luxury-footer .email-link { display: inline-flex; width: fit-content; align-items: center; }
  .page-work .luxury-footer .site-footer__bottom { margin-top: 1.35rem !important; padding-top: .85rem !important; }

  /* Rivet is a true phone overlay: one visible close control, no drag/resize. */
  .rivet-fab { width: 52px; height: 52px; min-width: 52px; }
  .rivet-widget, .rivet-widget.is-open { top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: 100vw !important; height: 100dvh !important; max-width: 100vw !important; max-height: 100dvh !important; background: #0b0b0a !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; transform: none !important; transition: none !important; }
  .rivet-header {
    position: relative;
    display: block;
    min-height: calc(44px + max(.75rem, env(safe-area-inset-top)) + .75rem);
    padding: max(.75rem, env(safe-area-inset-top)) 5.5rem .75rem .75rem !important;
    background: #0b0b0a;
    touch-action: auto !important;
  }
  .rivet-title {
    min-width: 0 !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .rivet-header-actions {
    position: absolute;
    top: max(.75rem, env(safe-area-inset-top));
    right: .75rem;
    margin: 0;
  }
  #rivet-clear-btn, #rivet-theme-btn, #rivet-fullscreen-btn, .rivet-resize-grip { display: none !important; }
  #rivet-close-btn, .rivet-send-btn { min-width: 44px !important; min-height: 44px !important; height: 44px !important; }
  #rivet-close-btn { width: auto !important; gap: .35rem; padding: 0 .55rem !important; }
  .rivet-close-label { display: inline; font: 600 .68rem/1 "DM Mono", monospace; letter-spacing: .06em; text-transform: uppercase; }
  .rivet-input-area { padding-bottom: max(.75rem, env(safe-area-inset-bottom)) !important; }
}

@media (min-width: 768px) {
  .ns-work-invitation, .ns-work-family-select { display: none; }
  .ns-utility-footer__contact { display: none; }
}
