/* Mobile-only layout refinements. Desktop rules remain untouched. */
@media (max-width: 700px) {
  :root { scroll-padding-top: 16px; }
  html, body { max-width: 100%; overflow-x: clip; }
  img { max-width: 100%; }
  a, button { touch-action: manipulation; }

  /* Shared page header, cover and footer */
  .hero-top {
    padding: max(18px, env(safe-area-inset-top)) 18px 12px;
    font-size: 9px;
    letter-spacing: .12em;
  }
  .brand-logo-frame { width: 98px; height: 32px; }
  .brand-logo-frame img { width: 116px; }
  .hero-top .home-link { gap: 7px; font-size: 8px; letter-spacing: .09em; }
  .hero-top .home-link::before { width: 15px; }
  .hero-center { width: 100%; padding: 82px 18px 122px; }
  .hero-kicker { max-width: 34ch; margin-inline: auto; font-size: 8px; letter-spacing: .18em; line-height: 1.6; }
  .hero-title { max-width: 100%; font-size: clamp(54px, 15vw, 82px); line-height: .96; letter-spacing: -.07em; }
  .hero-bottom { gap: 10px; padding: 16px 18px calc(20px + env(safe-area-inset-bottom)); }
  .hero-location { max-width: 118px; font-size: 8px; line-height: 1.5; letter-spacing: .12em; }
  .scroll-link { gap: 7px; font-size: 8px; letter-spacing: .12em; }
  .scroll-orbit { width: 29px; height: 29px; flex: 0 0 29px; }

  .intro { padding: 52px 0 58px; }
  .intro-grid { width: calc(100% - 40px); grid-template-columns: minmax(0, 1fr); gap: 23px; }
  .intro-title { max-width: 350px; font-size: clamp(36px, 10vw, 49px); line-height: 1.02; }
  .intro-copy { min-width: 0; padding-top: 0; }
  .intro-lead { margin-bottom: 13px; font-size: clamp(21px, 6vw, 27px); line-height: 1.22; }
  .intro-text { font-size: 14px; line-height: 1.72; }
  .coverage-list { margin: 22px 0; }
  .coverage-row { grid-template-columns: minmax(0, 1fr); gap: 5px; padding: 12px 0; }
  .coverage-row strong { font-size: 15px; }
  .coverage-row span { font-size: 13px; line-height: 1.5; }
  .contact-cta { width: min(100%, 340px); min-height: 52px; }
  .intro-copy .contact-cta { margin-top: 25px; }

  .gallery { padding: 0 9px 58px; }
  .mosaic-chapter { margin-bottom: 26px; }
  .mosaic-grid { column-gap: 9px; row-gap: 12px; }
  .site-footer {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 12px;
    padding: 22px 18px calc(22px + env(safe-area-inset-bottom));
    text-align: center;
    line-height: 1.6;
  }
  .site-footer-links { justify-content: center; }

  /* Compact, irregular but uncropped wedding and couple mosaics */
  .mixed-gallery {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-flow: row;
    align-items: start;
    gap: 9px !important;
    columns: auto !important;
  }
  .mixed-gallery .mosaic-row-break { display: none !important; }
  .mixed-gallery figure.mosaic-photo {
    display: block;
    width: auto;
    min-width: 0;
    max-width: 100%;
    margin: 0 !important;
    flex: none;
    transform: none !important;
  }
  .mixed-gallery figure.mosaic-photo img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
  }
  .mixed-gallery .mosaic-note {
    width: auto;
    max-width: none;
    margin: 10px 2px;
    font-size: 10px;
    line-height: 1.5;
  }
  .mixed-gallery figure.mosaic-photo[data-mosaic-position="28"],
  .mixed-gallery figure.mosaic-photo[data-mosaic-position="34"],
  .mixed-gallery figure.mosaic-photo[data-mosaic-position="39"],
  .couple-gallery figure.couple-photo[data-couple-position="3"],
  .couple-gallery figure.couple-photo[data-couple-position="8"],
  .couple-gallery figure.couple-photo[data-couple-position="14"] { grid-column: 1 / -1; }
  .couple-gallery figure.couple-photo[data-couple-position="2"],
  .couple-gallery figure.couple-photo[data-couple-position="9"] { width: 88%; justify-self: end; }

  /* Event, portrait and sport photos become touch-friendly two-column grids */
  .events-gallery.mosaic-grid,
  .portrait-gallery.mosaic-grid,
  .sport-gallery {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-flow: row;
    align-items: start;
    gap: 9px !important;
    columns: auto !important;
  }
  .events-gallery .event-photo,
  .portrait-gallery .portrait-photo,
  .sport-gallery .sport-photo {
    display: block;
    width: auto;
    min-width: 0;
    max-width: 100%;
    margin: 0 !important;
    flex: none;
    grid-column: span 1;
    transform: none !important;
  }
  .events-gallery .event-photo img,
  .portrait-gallery .portrait-photo img,
  .sport-gallery .sport-photo img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
  }
  .events-gallery .event-photo[data-event-position="new-01"],
  .events-gallery .event-photo[data-event-position="new-04"],
  .events-gallery .event-photo[data-event-position="8"],
  .events-gallery .event-photo[data-event-position="13"],
  .portrait-gallery .portrait-photo[data-portrait-position="1"],
  .portrait-gallery .portrait-photo[data-portrait-position="4"],
  .portrait-gallery .portrait-photo[data-portrait-position="13"],
  .sport-gallery .sport-photo[data-sport-position="3"],
  .sport-gallery .sport-photo[data-sport-position="9"],
  .sport-gallery .sport-photo[data-sport-position="17"],
  .sport-gallery .sport-photo[data-sport-position="21"],
  .sport-gallery .sport-photo[data-sport-position="26"] { grid-column: 1 / -1; }
  .portrait-gallery .portrait-photo[data-portrait-position="3"],
  .portrait-gallery .portrait-photo[data-portrait-position="9"],
  .portrait-gallery .portrait-photo[data-portrait-position="15"] { width: 86%; justify-self: end; }

  .events-gallery .event-overlay,
  .portrait-gallery .portrait-overlay,
  .sport-gallery .sport-overlay {
    inset: auto 0 0;
    min-height: 32%;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 4px;
    padding: 10px 9px;
    text-align: left;
    opacity: 1;
    background: linear-gradient(transparent, rgba(29, 20, 17, .78));
  }
  .events-gallery .event-category,
  .portrait-gallery .portrait-category,
  .sport-gallery .sport-category { font-size: 8px; letter-spacing: .1em; line-height: 1.35; }
  .events-gallery .event-name,
  .portrait-gallery .portrait-name,
  .sport-gallery .sport-event-name { font-size: 12px; line-height: 1.18; }
  .events-gallery .event-photo:hover,
  .portrait-gallery .portrait-photo:hover,
  .sport-gallery .sport-photo:hover { transform: none !important; }

  /* The Marque guide reads as a clear sequence on a narrow screen */
  .brand-intro { padding: 52px 0 32px; }
  .brand-intro-inner { width: calc(100% - 40px); }
  .brand-intro h2 { font-size: clamp(34px, 9vw, 48px); line-height: 1.04; }
  .brand-intro-copy { max-width: 42ch; margin-inline: auto; font-size: 14px; line-height: 1.7; }
  .brand-steps-index { max-width: 330px; margin: 26px auto 0; gap: 9px 10px; font-size: 8px; }
  .brand-steps-index i { width: 9px; }
  .brand-step { width: calc(100% - 40px); grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 28px 0 34px; }
  .brand-step--reverse .brand-step-photo { order: 0; }
  .brand-step--reverse .brand-step-copy { order: 1; }
  .brand-step-photo,
  .brand-photo--brief,
  .brand-photo--mood,
  .brand-step--campaign .brand-step-photo,
  .brand-photo--final { width: 100%; max-width: 420px; margin: 0 auto; }
  .brand-step-copy h3,
  .brand-product-heading h3 { margin-bottom: 12px; font-size: clamp(27px, 7.5vw, 34px); }
  .brand-step-copy p:not(.brand-step-number),
  .brand-product-heading > p:not(.brand-step-number) { font-size: 14px; line-height: 1.68; }
  .brand-product-section { width: calc(100% - 40px); padding: 34px 0 42px; }
  .brand-product-heading { margin-bottom: 20px; }
  .brand-product-triptych { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .brand-product-photo { min-width: 0; }
  .brand-product-photo:nth-child(2) { transform: translateY(14px); }
  .brand-product-photo:nth-child(3) { grid-column: 1 / -1; width: 68%; margin: 0 auto; transform: none; }
  .brand-product-photo figcaption { margin-top: 7px; font-size: 8px; line-height: 1.4; letter-spacing: .06em; }
  .brand-close { padding: 52px 20px calc(58px + env(safe-area-inset-bottom)); }
  .brand-close h2 { max-width: 14ch; font-size: clamp(34px, 9vw, 46px); }
  .brand-close > p:not(.brand-eyebrow) { font-size: 14px; line-height: 1.65; }

  /* Home-specific spacing and input sizes */
  .hero { min-height: 560px; min-height: max(560px, 100svh); }
  .center { top: 47%; width: calc(100% - 36px); }
  .logo { width: min(88vw, 520px); }
  .tag { margin-top: 20px; font-size: clamp(21px, 6vw, 28px); }
  .rotator { height: auto; min-height: 1.45em; max-width: 100%; font-size: clamp(23px, 6.5vw, 33px); line-height: 1.15; white-space: normal; }
  .rotator span { white-space: normal; text-wrap: balance; }
  .scroll { bottom: calc(22px + env(safe-area-inset-bottom)); font-size: 9px; }
  .fio-worlds-content { padding: max(24px, 4svh) 12px calc(24px + env(safe-area-inset-bottom)); }
  .fio-worlds-title { font-size: clamp(35px, 9.5vw, 48px); }
  .fio-cards { width: 100vw; height: 50svh; min-height: 320px; max-height: 430px; }
  .fio-card { width: min(46vw, 190px); height: min(34svh, 300px); min-height: 220px; max-height: 300px; border-radius: 15px; }
  .fio-card-label { max-width: 82%; font-size: clamp(12px, 3.4vw, 15px); line-height: 1.1; }
  .fio-worlds-hint { max-width: 280px; font-size: 9px; line-height: 1.5; }
  .fio-method-content { padding: 0 22px calc(42px + env(safe-area-inset-bottom)); }
  .fio-method-stage { width: 100%; }
  .fio-method-list button { font-size: clamp(23px, 7vw, 31px); line-height: 1.12; }
  .fio-method-description { min-height: 0; padding-top: 18px; font-size: 16px; line-height: 1.65; }
  .fio-contact-inner { width: calc(100% - 40px); gap: 17px; padding: 26px 0 42px; }
  .fio-contact-photo { width: min(78%, 320px); margin: -32px auto 2px; }
  .fio-contact h2 { font-size: clamp(35px, 9vw, 47px); }
  .fio-contact-action { width: min(100%, 340px); min-height: 52px; }
  .fio-contact-dialog { width: calc(100vw - 20px); max-height: 92dvh; border-radius: 22px; }
  .fio-contact-dialog-inner { padding: 22px 17px calc(24px + env(safe-area-inset-bottom)); }
  .fio-contact-dialog-title { font-size: clamp(28px, 8vw, 36px); line-height: 1.05; }
  .fio-contact-form { gap: 13px; }
  .fio-contact-form input,
  .fio-contact-form textarea,
  .fio-contact-form select { min-height: 48px; font-size: 16px; }
  .fio-contact-form textarea { min-height: 110px; }
  .fio-contact-form-actions button { min-height: 50px; }
  .fio-instagram { padding: 16px 0 20px; }

  /* Legal text stays readable without narrow desktop-width columns */
  .policy-main { width: calc(100% - 40px); max-width: 640px; margin-inline: auto; }
  .policy-section p,
  .policy-section li { font-size: 14px; line-height: 1.7; }
}

@media (max-width: 390px) {
  .hero-bottom { padding-inline: 14px; }
  .hero-location { max-width: 104px; }
  .scroll-link { max-width: 150px; }
  .brand-step { width: calc(100% - 34px); }
  .intro-grid { width: calc(100% - 34px); }
}

@media (hover: none) and (max-width: 700px) {
  .mosaic-photo:hover,
  .event-photo:hover,
  .portrait-photo:hover,
  .sport-photo:hover,
  .brand-step-photo:hover img,
  .brand-product-photo:hover img { transform: none !important; }
}

/* Homepage phone composition: keep the approved cards, make every one readable. */
@media (max-width: 700px) {
  #prestations {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
  #prestations > .fio-worlds-canvas,
  #prestations > .fio-worlds-bgveil,
  #prestations > .fio-worlds-bggrain {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
  }
  #prestations > .fio-worlds-sticky {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
  #prestations .fio-worlds-panel {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    transform: none !important;
    border-radius: 0 !important;
  }
  #prestations .fio-worlds-content {
    display: flex !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 34px 18px 42px !important;
    opacity: 1 !important;
    transform: none !important;
    will-change: auto !important;
  }
  #prestations .fio-worlds-heading {
    width: 100% !important;
    height: auto !important;
    min-height: 94px !important;
    margin-bottom: 14px !important;
  }
  #prestations .fio-worlds-title {
    font-size: clamp(34px, 9vw, 46px) !important;
    line-height: 1.02 !important;
    margin: 0 0 8px !important;
  }
  #prestations .fio-worlds-caption {
    max-width: 30ch !important;
    min-height: 1.35em !important;
    margin: 0 auto !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
  }
  #prestations .fio-cards {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    gap: 12px !important;
    width: min(100%, 520px) !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    overflow: visible !important;
    perspective: none !important;
  }
  #prestations .fio-cards::before {
    inset: -18px !important;
    filter: blur(22px) !important;
  }
  #prestations .fio-card {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    height: clamp(190px, 58vw, 250px) !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    transform: none !important;
    z-index: 1 !important;
    border-radius: 15px !important;
  }
  #prestations .fio-card:hover,
  #prestations .fio-card:focus-visible,
  #prestations .fio-card.active {
    transform: translateY(-2px) !important;
    z-index: 2 !important;
  }
  #prestations .fio-card-photo {
    object-fit: cover !important;
    object-position: center !important;
  }
  #prestations .fio-card-label {
    left: 11px !important;
    right: 9px !important;
    bottom: 13px !important;
    max-width: none !important;
    font-size: clamp(12px, 3.6vw, 15px) !important;
    line-height: 1.08 !important;
  }
  #prestations .fio-worlds-hint {
    max-width: none !important;
    margin-top: 18px !important;
    font-size: 8px !important;
    letter-spacing: .13em !important;
  }

  /* Logos flow down the page in three clear columns; no horizontal swipe. */
  .fio-brand-strip {
    min-height: 0 !important;
    height: auto !important;
    padding: 58px 18px 40px !important;
    gap: 16px !important;
    overflow: hidden !important;
  }
  .fio-brand-strip h2 {
    width: 100% !important;
    font-size: clamp(23px, 6vw, 30px) !important;
    line-height: 1.12 !important;
    transform: none !important;
  }
  .fio-brand-strip .brand-row {
    display: grid !important;
    grid-auto-flow: row !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: none !important;
    grid-auto-columns: auto !important;
    align-items: center !important;
    justify-items: center !important;
    width: min(100%, 500px) !important;
    padding: 0 !important;
    gap: 8px 10px !important;
    overflow: visible !important;
    transform: none !important;
  }
  .fio-brand-strip .brand-cell,
  .fio-brand-strip .brand-cell:last-child {
    grid-column: auto !important;
    width: 100% !important;
    height: 76px !important;
    min-width: 0 !important;
  }
  .fio-brand-strip .brand-link { width: 100% !important; }
  .fio-brand-strip .brand-mark {
    width: min(100%, 104px) !important;
    height: 66px !important;
    max-height: 66px !important;
    object-fit: contain !important;
  }
  .fio-brand-strip .brand-hint { margin-top: 0 !important; }

  /* Keep the desktop two-column step layout and animated connector on phones. */
  #methode.fio-method-content { padding: 0 18px 40px !important; }
  #methode.fio-method-content > h2 {
    font-size: clamp(30px, 8vw, 38px) !important;
    line-height: 1.04 !important;
  }
  #methode .fio-method-stage {
    display: grid !important;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr) !important;
    column-gap: 24px !important;
    row-gap: 0 !important;
    width: 100% !important;
    max-width: 520px !important;
    min-height: 0 !important;
    margin: 22px auto 0 !important;
    align-items: center !important;
  }
  #methode .fio-method-list {
    width: 100% !important;
    min-width: 0 !important;
    gap: 9px !important;
  }
  #methode .fio-method-list button {
    width: 100% !important;
    min-width: 0 !important;
    padding: 4px 0 !important;
    white-space: normal !important;
    font-size: clamp(13px, 3.7vw, 18px) !important;
    line-height: 1.12 !important;
    letter-spacing: -.035em !important;
  }
  #methode .fio-method-description {
    width: 100% !important;
    max-width: none !important;
    min-height: 82px !important;
    padding: 0 !important;
    border: 0 !important;
    font-size: clamp(11px, 3.25vw, 14px) !important;
    line-height: 1.48 !important;
  }
  #methode .fio-method-connector {
    display: block !important;
    visibility: visible !important;
  }
}

@media (max-width: 360px) {
  #methode .fio-method-stage { column-gap: 60px !important; }
  #methode .fio-method-list button { font-size: 12px !important; }
  #methode .fio-method-description { font-size: 11px !important; }
  #prestations .fio-cards { gap: 9px !important; }
  #prestations .fio-card { height: 184px !important; }
}

@media (max-width: 700px) {
  /* Mobile order only: wedding, portrait, couple, sport, events, brand. */
  #prestations .fio-card:nth-child(1) { order: 4 !important; }
  #prestations .fio-card:nth-child(2) { order: 5 !important; }
  #prestations .fio-card:nth-child(3) { order: 1 !important; }
  #prestations .fio-card:nth-child(4) { order: 2 !important; }
  #prestations .fio-card:nth-child(5) { order: 3 !important; }
  #prestations .fio-card:nth-child(6) { order: 6 !important; }

  /* Start the orange logo band after the complete three-row card grid. */
  .fio-brand-strip { margin-top: 0 !important; }

  /* Give the SVG connector enough room to draw between the two method columns. */
  #methode .fio-method-stage {
    column-gap: clamp(60px, 16vw, 96px) !important;
  }

  /* On phones, place a smaller portrait directly under the contact heading. */
  #contact .fio-contact-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }
  #contact .fio-contact-copy {
    display: contents !important;
    max-width: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
  #contact .fio-contact-copy > h2 {
    order: 1 !important;
    margin: 0 0 2px !important;
  }
  #contact .fio-contact-photo {
    order: 2 !important;
    width: min(38vw, 145px) !important;
    max-width: 145px !important;
    height: auto !important;
    aspect-ratio: .73 !important;
    max-height: none !important;
    margin: 0 auto 7px !important;
    clip-path: none !important;
  }
  #contact .fio-contact-copy > .fio-contact-intro { order: 3 !important; }
  #contact .fio-contact-copy > .fio-contact-action { order: 4 !important; }
  #contact .fio-contact-copy > .fio-contact-signoff { order: 5 !important; }
  #contact .fio-contact-copy > .fio-contact-logo { order: 6 !important; }
}

@media (max-width: 700px) {
  /* Keep the complete card grid above the orange client-logo section. */
  #prestations {
    position: relative !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    isolation: isolate !important;
  }
  #prestations .fio-worlds-content { padding-bottom: 62px !important; }
  #prestations .fio-cards { margin-bottom: 0 !important; }
  .fio-brand-strip {
    position: relative !important;
    top: auto !important;
    margin-top: 64px !important;
    transform: none !important;
  }

  /* Keep the contact copy in place and move the small portrait into its sign-off row. */
  #contact .fio-contact-inner {
    display: flex !important;
    flex-flow: row wrap !important;
    align-items: center !important;
    column-gap: 8px !important;
    row-gap: 13px !important;
  }
  #contact .fio-contact-copy {
    display: contents !important;
  }
  #contact .fio-contact-copy > h2 {
    order: 1 !important;
    flex: 0 0 100% !important;
    width: 100% !important;
  }
  #contact .fio-contact-copy > .fio-contact-intro {
    order: 2 !important;
    flex: 0 0 100% !important;
    width: 100% !important;
  }
  #contact .fio-contact-copy > .fio-contact-action {
    order: 3 !important;
    flex: 0 0 100% !important;
    width: 100% !important;
  }
  #contact .fio-contact-photo {
    order: 4 !important;
    flex: 0 0 46px !important;
    width: 46px !important;
    max-width: 46px !important;
    height: auto !important;
    aspect-ratio: .73 !important;
    margin: 0 !important;
  }
  #contact .fio-contact-copy > .fio-contact-signoff {
    order: 5 !important;
    flex: 1 1 76px !important;
    min-width: 0 !important;
    margin: 0 !important;
    white-space: nowrap !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
  }
  #contact .fio-contact-copy > .fio-contact-logo {
    order: 6 !important;
    flex: 0 0 86px !important;
    width: 86px !important;
    height: 30px !important;
    margin: 0 !important;
  }
  #contact .fio-contact-logo img {
    width: 102px !important;
    transform: translate(-50%, calc(-50% + 7px)) !important;
  }
}

@media (max-width: 700px) {
  /* Make the card area a complete cream, grained block before the orange band. */
  #prestations.fio-worlds-scroll {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    background: #ede6dc !important;
  }
  #prestations > .fio-worlds-canvas,
  #prestations > .fio-worlds-bgveil,
  #prestations > .fio-worlds-bggrain {
    display: none !important;
  }
  #prestations > .fio-worlds-sticky {
    position: relative !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
  #prestations .fio-worlds-panel {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    background: #ede6dc !important;
    border-radius: 0 !important;
    transform: none !important;
  }
  #prestations .fio-worlds-panel::before {
    background: #ede6dc !important;
  }
  #prestations .fio-worlds-content {
    padding-bottom: 128px !important;
    opacity: 1 !important;
    transform: none !important;
  }
  .fio-brand-strip {
    margin-top: 0 !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }
}

@media (max-width: 700px) {
  /* A real in-flow cream spacer keeps the complete cards clear of the logos. */
  #prestations .fio-worlds-content { padding-bottom: 24px !important; }
  #prestations::after { display: none !important; content: none !important; }
  .mobile-brand-spacer {
    display: block !important;
    width: 100% !important;
    height: 325px !important;
    margin: 0 !important;
    margin-bottom: -85px !important;
    padding: 0 !important;
    background-color: #ede6dc !important;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.34'/%3E%3C/svg%3E") !important;
    background-size: 180px 180px !important;
  }
  .fio-brand-strip {
    margin-top: 0 !important;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0, rgba(0,0,0,.35) 37px, black 85px) !important;
    mask-image: linear-gradient(to bottom, transparent 0, rgba(0,0,0,.35) 37px, black 85px) !important;
  }
  .fio-brand-strip::before {
    background:
      radial-gradient(ellipse 50% 45% at var(--mx,50%) var(--my,52%),rgba(255,205,151,.28),transparent 84%),
      radial-gradient(ellipse 80% 68% at 72% 20%,#b56843aa,transparent 78%),
      linear-gradient(180deg,#a9572c,#a35335 58%,#8b4532) !important;
    animation: fioAtmosphere 13s ease-in-out infinite alternate !important;
  }
}
