/* ODRAVIO V68 — MOBILE COLOR RESTORE + NO TOP BARS
   Mobile only. Desktop intentionally untouched.
   Palette: white + light navy + ODRAVIO red; normal text black. */

.odr-v68-fab,.odr-v68-fab-scrim{display:none}

@media (max-width:820px){
  :root{
    --odr68-white:#ffffff;
    --odr68-paper:#f7f8fb;
    --odr68-ink:#07111f;
    --odr68-black:#0a0e14;
    --odr68-blue:#294f78;
    --odr68-blue-2:#3a628c;
    --odr68-soft-blue:#edf2f7;
    --odr68-red:#c7162b;
    --odr68-soft-red:#fff3f5;
    --odr68-line:#dce3ec;
    --odr68-muted:#657185;
    --odr68-shadow:0 14px 34px rgba(7,24,47,.18);
  }

  html{
    background:var(--odr68-white)!important;
    scroll-padding-top:10px!important;
  }
  body{
    background:var(--odr68-white)!important;
    color:var(--odr68-ink)!important;
    padding-bottom:0!important;
  }

  /* V66: NO fixed top chrome at all on mobile. */
  .odr-v65-header,
  .odr-mobile-topbar-bg,
  .odr-mobile-chat-shortcut,
  .odr-mobile-sticky-cta,
  .menu-trigger,
  .floating-brand,
  .scroll-progress,
  .section-indicator,
  .index-dot-nav{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

  /* Remove spacing that existed only for the old fixed top bar. */
  .subpage-main,.career-main,.privacy-main{padding-top:26px!important}
  .hero__content{padding-top:22px!important}
  .odr-mobile-pricing-nav{top:0!important}

  /* ===== Core light palette ===== */
  .hero,.story,.solutions,.portfolio,.future,
  .subpage-main,.career-main,.service-main,.privacy-main,.section--white{
    background:var(--odr68-white)!important;
    color:var(--odr68-ink)!important;
  }

  .hero{
    background:
      radial-gradient(circle at 88% 18%,rgba(41,79,120,.11),transparent 28%),
      linear-gradient(145deg,#fff 0 72%,#f2f6ff 100%)!important;
  }

  .hero__title,.story-grid__lead h2,.section-head h2,.solutions__intro h2,.portfolio__intro h2,
  .founder-trust h2,.future__statement h2,.subpage-hero h1,.service-hero h1,.career-hero h1,
  .service-section__head h2,.career-openings__head h2,.pricing-hero-v48 h1,.pricing-card h3,
  .detail-case__head h2,.subpage-card h3,.founder-profile h2,.subpage-cta h2,
  .solution-row h3,.scope-card h3,.scope-card h4,.pain-card h3,.pain-card h4{
    color:var(--odr68-black)!important;
  }

  .hero__statement p,.story-grid__copy p,.section-head p,.solutions__intro p,.portfolio__intro p,
  .founder-trust p,.future__bottom p,.subpage-hero>p,.service-hero__lead,.career-hero__copy>p,
  .service-section__head p,.detail-case__head>p,.subpage-card p,.pricing-card__description,
  .founder-profile p,.service-philosophy__explain,.scope-card p,.pain-card p,.contact-panel p,.contact-form p{
    color:var(--odr68-ink)!important;
  }

  .story-grid__copy .lead-copy,.story-highlight strong,.future__closing,.service-hero__promise b{
    color:var(--odr68-black)!important;
  }
  .section-head>p,.subpage-kicker,.service-section__head>span,.service-philosophy__label{
    color:var(--odr68-blue)!important;
  }

  /* Brand accents on light backgrounds. */
  .hero__title span,.solutions__intro h2 span,.solution-row__arrow,.future-link i,
  .odr-mobile-back::before,.pricing-card>.btn,.pricing-card__secondary-link{
    color:var(--odr68-blue)!important;
  }
  .story-grid__lead em,.future__statement h2 span,.solution-row__number{
    color:var(--odr68-red)!important;
  }

  /* Blue feature fields: red typography, as requested. */
  .philosophy,.process,.service-philosophy{
    background:var(--odr68-blue)!important;
    color:var(--odr68-red)!important;
  }
  .philosophy h2,.philosophy h3,.philosophy p,.philosophy span,
  .process h2,.process h3,.process p,.process span,
  .service-philosophy h2,.service-philosophy h3,.service-philosophy p,.service-philosophy span,
  .service-philosophy__label,.service-philosophy__explain{
    color:var(--odr68-red)!important;
  }
  .philosophy__principles,.principle,.process-track::before{
    border-color:rgba(255,255,255,.25)!important;
  }
  .process-step__dot{box-shadow:0 0 0 6px var(--odr68-blue),0 0 18px rgba(255,255,255,.18)!important}
  .process-step__dot--red{background:var(--odr68-red)!important;box-shadow:0 0 0 6px var(--odr68-blue),0 0 18px rgba(199,22,43,.34)!important}

  /* Cards / service pages / pricing back to light surfaces. */
  .service-section{background:var(--odr68-white)!important;border-color:var(--odr68-line)!important;box-shadow:none!important;clip-path:none!important}
  .service-section:nth-of-type(even){background:var(--odr68-paper)!important;box-shadow:0 0 0 100vmax var(--odr68-paper)!important;clip-path:inset(0 -100vmax)!important}
  .service-recognition{background:var(--odr68-paper)!important}
  .service-hero,.subpage-hero,.career-hero{border-bottom-color:var(--odr68-line)!important}
  .service-hero__promise,.subpage-card,.scope-card,.pain-card,.pricing-card,.detail-case__facts>div,
  .contact-form,.contact-panel,.founder-profile,.career-jobs-shell,.service-case-card{
    background:var(--odr68-white)!important;
    border-color:var(--odr68-line)!important;
    color:var(--odr68-ink)!important;
    box-shadow:0 10px 28px rgba(7,24,47,.055)!important;
  }
  .service-hero__promise span,.detail-case__facts p{color:var(--odr68-ink)!important}
  .odr-v61-accordion-card .odr-accordion-toggle,.odr-mobile-facts-toggle{
    background:var(--odr68-white)!important;
    border-color:var(--odr68-line)!important;
    color:var(--odr68-blue)!important;
  }

  /* Pricing: white cards, black copy, red price accent, blue navigation. */
  .odr-mobile-pricing-nav{
    background:rgba(255,255,255,.97)!important;
    border-color:rgba(7,24,47,.08)!important;
  }
  .odr-mobile-pricing-nav a{
    background:var(--odr68-white)!important;
    border-color:var(--odr68-line)!important;
    color:var(--odr68-black)!important;
  }
  .odr-mobile-pricing-nav a:active,.odr-mobile-pricing-nav a:focus{
    border-color:var(--odr68-blue)!important;
    color:var(--odr68-blue)!important;
  }
  .pricing-card__price,.pricing-card__price-block{color:var(--odr68-red)!important}
  .detail-case{border-bottom-color:var(--odr68-line)!important}
  .subpage-cta{background:var(--odr68-soft-blue)!important;border:1px solid #d2dce7!important}

  /* Forms: white / black / brand focus. */
  .form-field label{color:var(--odr68-black)!important}
  .form-field input,.form-field select,.form-field textarea{
    min-height:48px!important;
    background:var(--odr68-white)!important;
    color:var(--odr68-black)!important;
    border-color:#ccd6e5!important;
  }
  .form-field input::placeholder,.form-field textarea::placeholder{color:#7d8999!important}
  .form-field input:focus,.form-field select:focus,.form-field textarea:focus{
    border-color:var(--odr68-blue)!important;
    box-shadow:0 0 0 3px rgba(41,79,120,.10)!important;
  }
  .form-submit{background:var(--odr68-red)!important;color:#fff!important;border-color:var(--odr68-red)!important}

  /* Content CTAs: restore visible blue/red/white hierarchy instead of dark text links. */
  .hero-actions .btn,.service-main .btn:not(.form-submit),.subpage-main .btn:not(.form-submit),.pricing-page-v48 .btn{
    color:var(--odr68-blue)!important;
  }
  .hero-actions .btn-primary,.service-main .btn-primary,.subpage-main .btn-primary,.pricing-page-v48 .btn-primary{
    background:var(--odr68-blue)!important;
    color:var(--odr68-red)!important;
    border-color:var(--odr68-blue)!important;
    box-shadow:0 10px 24px rgba(41,79,120,.14)!important;
    padding-left:16px!important;padding-right:16px!important;
  }

  /* ===== FAB stays; palette corrected ===== */
  .odr-v68-fab-scrim{
    display:block;position:fixed;inset:0;z-index:1230;
    background:rgba(7,24,47,.48);opacity:0;visibility:hidden;pointer-events:none;
    -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);
    transition:opacity .2s ease,visibility 0s linear .2s;
  }
  .odr-v68-fab-scrim.is-open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .2s ease}
  .odr-v68-fab{
    display:flex;position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:1240;
    flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none;
    transition:transform .22s ease,opacity .22s ease;
  }
  .odr-v68-fab.is-scroll-hidden{transform:translateY(calc(86px + env(safe-area-inset-bottom)));opacity:.3}
  .odr-v68-fab.is-end-hidden{transform:translateY(calc(106px + env(safe-area-inset-bottom)));opacity:0;pointer-events:none}
  .odr-v68-fab.is-open,.odr-v68-fab:hover{opacity:1;transform:none}

  /* V68: FAB is a permanent menu entry on mobile subpages. */
  .odr-v68-fab.is-scroll-hidden,.odr-v68-fab.is-end-hidden{transform:none!important;opacity:1!important;pointer-events:none!important}
  .odr-v68-fab.is-scroll-hidden .odr-v68-fab__main,.odr-v68-fab.is-end-hidden .odr-v68-fab__main{pointer-events:auto!important}
  .odr-v68-fab__actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px;margin-bottom:1px;pointer-events:none}
  .odr-v68-fab__action{display:flex;align-items:center;justify-content:flex-end;gap:10px;opacity:0;transform:translateY(18px) scale(.84);pointer-events:none;transition:opacity .18s ease,transform .28s cubic-bezier(.34,1.56,.64,1)}
  .odr-v68-fab.is-open .odr-v68-fab__action{opacity:1;transform:none;pointer-events:auto}
  .odr-v68-fab.is-open .odr-v68-fab__action:nth-child(1){transition-delay:.12s}
  .odr-v68-fab.is-open .odr-v68-fab__action:nth-child(2){transition-delay:.06s}
  .odr-v68-fab.is-open .odr-v68-fab__action:nth-child(3){transition-delay:0s}
  .odr-v68-fab__label{min-height:34px;display:flex;align-items:center;padding:0 11px;border-radius:10px;background:#fff;border:1px solid var(--odr68-line);color:var(--odr68-black);box-shadow:0 8px 24px rgba(7,24,47,.16);font-size:11px;font-weight:680;white-space:nowrap}
  .odr-v68-fab__mini,.odr-v68-fab__main{border:0;padding:0;border-radius:50%;display:grid;place-items:center;pointer-events:auto;box-shadow:var(--odr68-shadow);-webkit-tap-highlight-color:transparent}
  .odr-v68-fab__mini{width:48px;height:48px}
  .odr-v68-fab__mini--chat{background:var(--odr68-blue);color:#fff}
  .odr-v68-fab__mini--contact{background:#fff;color:var(--odr68-black);border:1px solid #cfd8e5}
  .odr-v68-fab__mini--menu{background:var(--odr68-red);color:#fff}
  .odr-v68-fab__mini svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .odr-v68-fab__main{width:60px;height:60px;background:var(--odr68-red);color:var(--odr68-blue);transition:transform .2s ease-out,box-shadow .2s ease-out}
  .odr-v68-fab__main svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:2.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease-out}
  .odr-v68-fab.is-open .odr-v68-fab__main svg{transform:rotate(145deg)}
  .odr-v68-fab__main:active,.odr-v68-fab__mini:active{transform:scale(.93)}

  /* ===== Fullscreen menu: white surface, black text, blue/red brand roles ===== */
  .menu-backdrop{z-index:1250!important;background:rgba(7,24,47,.38)!important}
  .side-menu{
    width:100vw!important;max-width:none!important;height:100dvh!important;inset:0!important;z-index:1260!important;
    background:var(--odr68-white)!important;color:var(--odr68-black)!important;border:0!important;box-shadow:none!important;
    transform:translateX(100%)!important;opacity:.98!important;
    transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .24s ease!important;
    padding-bottom:env(safe-area-inset-bottom)!important;
  }
  .side-menu.is-open{transform:translateX(0)!important;opacity:1!important}
  .side-menu__top{min-height:64px!important;padding:10px 14px!important;background:#fff!important;border-bottom:1px solid var(--odr68-line)!important}
  .side-menu__label{color:var(--odr68-blue)!important}
  .side-menu__close{width:48px!important;height:48px!important;border-radius:50%!important;background:var(--odr68-red)!important;border:1px solid var(--odr68-red)!important;color:#fff!important;font-size:30px!important}
  .side-menu__scroll{padding:15px 17px calc(30px + env(safe-area-inset-bottom))!important;background:#fff!important}
  .side-menu__ai-cta{background:var(--odr68-blue)!important;border:1px solid var(--odr68-blue)!important;box-shadow:0 10px 24px rgba(41,79,120,.14)!important}
  .side-menu__ai-cta b,.side-menu__ai-cta small{color:var(--odr68-red)!important}
  .side-menu__main-link{color:var(--odr68-black)!important;border-color:rgba(7,24,47,.08)!important}
  .side-menu__main-link:hover,.side-menu__main-link.is-current{background:var(--odr68-soft-blue)!important;border-color:#cbd9f3!important;color:var(--odr68-red)!important}
  .side-menu__services a{color:var(--odr68-black)!important;border-left-color:#d7dfeb!important}
  .side-menu__services a small{color:var(--odr68-muted)!important}
  .side-menu__section-title,.side-menu__nav-no{color:var(--odr68-blue)!important}
  .side-menu__footer{border-top-color:var(--odr68-line)!important;color:var(--odr68-muted)!important}
  .side-menu__footer strong{color:var(--odr68-red)!important}

  /* Footer: light, no dark/navy takeover. */
  .footer,.footer--mega{background:#fff!important;border-top:1px solid var(--odr68-line)!important;color:var(--odr68-black)!important}
  .footer p,.footer small,.footer__bottom,.footer__links a{color:var(--odr68-ink)!important}
  .footer__brand strong{color:var(--odr68-blue)!important}

  /* No V65 elements should survive if browser has stale DOM/CSS. */
  .odr-v65-fab,.odr-v65-fab-scrim,.odr-v66-fab,.odr-v66-fab-scrim{display:none!important}

  body.odr-page-consultant .odr-v68-fab{display:none!important}


  /* ===== V68 animated brand lockup — integrated in hero flow ===== */
  .odr-v68-brand-lockup{
    width:max-content;max-width:100%;display:flex;align-items:center;gap:8px;
    margin:0 0 14px auto;padding:2px 0;position:relative;z-index:4;
    color:var(--odr68-ink);text-decoration:none;pointer-events:auto;cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }
  .odr-v68-brand-lockup__mark{
    width:38px;height:38px;display:block;position:relative;flex:0 0 38px;
    isolation:isolate;filter:drop-shadow(0 4px 8px rgba(7,24,47,.10));
  }
  .odr-v68-brand-lockup__halo{
    position:absolute;inset:8%;border-radius:50%;pointer-events:none;z-index:0;
    background:radial-gradient(circle,rgba(41,79,120,.12),rgba(41,79,120,0) 70%);
    animation:odrV68BrandHalo 3.6s ease-in-out infinite;
  }
  .odr-v68-brand-lockup__main{
    position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;z-index:1;
  }
  .odr-v68-brand-lockup__frag{
    position:absolute;left:var(--x);top:var(--y);width:var(--w);height:var(--h);
    object-fit:contain;display:block;z-index:2;will-change:transform,filter;transform-origin:50% 50%;
  }
  .odr-v68-brand-lockup__type{display:grid;gap:0;line-height:1;text-align:left}
  .odr-v68-brand-lockup__type strong{font-size:15px;letter-spacing:.085em;font-weight:820;color:var(--odr68-ink);transition:color .18s ease}
  .odr-v68-brand-lockup__type small{margin-top:4px;font-size:7px;letter-spacing:.20em;font-weight:800;color:var(--odr68-red);transition:transform .18s ease}
  .odr-v68-brand-lockup:active{transform:scale(.975)}
  .odr-v68-brand-lockup:hover .odr-v68-brand-lockup__type strong{color:var(--odr68-blue)}
  .odr-v68-brand-lockup:hover .odr-v68-brand-lockup__type small{transform:translateX(2px)}
  body.odr-page-index .odr-v68-brand-lockup{margin-bottom:18px}
  .subpage-hero>.odr-v68-brand-lockup,.service-hero>.odr-v68-brand-lockup,.career-hero>.odr-v68-brand-lockup{grid-column:1/-1;justify-self:end}
  @keyframes odrV68BrandHalo{0%,100%{opacity:.45;transform:scale(.9)}50%{opacity:1;transform:scale(1.08)}}

  /* Red typography on navy fields gets a real dark outline, not only a shadow. */
  .philosophy h2,.philosophy h3,.philosophy p,.philosophy span,
  .process h2,.process h3,.process p,.process span,
  .service-philosophy h2,.service-philosophy h3,.service-philosophy p,.service-philosophy span,
  .service-philosophy__label,.service-philosophy__explain{
    color:var(--odr68-red)!important;
    -webkit-text-stroke:.34px rgba(5,8,12,.98);
    text-shadow:-.45px -.45px 0 rgba(5,8,12,.82),.45px -.45px 0 rgba(5,8,12,.82),-.45px .45px 0 rgba(5,8,12,.82),.45px .45px 0 rgba(5,8,12,.82);
  }
  .philosophy h2,.philosophy h3,.process h2,.process h3,.service-philosophy h2,.service-philosophy h3{
    -webkit-text-stroke:.52px #070a0f;
    text-shadow:-.65px -.65px 0 #070a0f,.65px -.65px 0 #070a0f,-.65px .65px 0 #070a0f,.65px .65px 0 #070a0f;
  }

  /* Any former saturated blue hard fills are now light navy. */
  .philosophy,.process,.service-philosophy{background:var(--odr68-blue)!important}

  /* Every red label placed on a navy surface gets the same dark outline. */
  .hero-actions .btn-primary,.service-main .btn-primary,.subpage-main .btn-primary,.pricing-page-v48 .btn-primary,
  .side-menu__ai-cta b,.side-menu__ai-cta small{
    -webkit-text-stroke:.42px #070a0f;
    text-shadow:-.5px -.5px 0 #070a0f,.5px -.5px 0 #070a0f,-.5px .5px 0 #070a0f,.5px .5px 0 #070a0f;
  }

  @media(max-width:380px){
    .odr-v68-fab{right:12px}
    .odr-v68-fab__main{width:58px;height:58px}
    .odr-v68-fab__label{font-size:10px}
  }
}

@media (max-width:820px) and (prefers-reduced-motion:reduce){
  .odr-v68-fab,.odr-v68-fab *, .odr-v68-fab-scrim,.side-menu,.odr-v68-brand-lockup,.odr-v68-brand-lockup *{transition:none!important;animation:none!important;scroll-behavior:auto!important}
  .odr-v68-fab.is-open .odr-v68-fab__main svg{transform:none!important}
}
