/* Snap Profile v6.7.6 — Public Design Sync + Mobile Section Layouts
   Public renderer is authoritative: the same persisted tokens used by Design Studio
   are re-asserted here after all legacy/theme CSS layers. */
.site-v676{
  /* Experience/theme classes in older releases also assign --heading-font/--body-font.
     Keep the persisted Studio selection in separate user tokens, then rebind the public
     renderer here as the final layer so a theme can never silently replace the user font. */
  --heading-font:var(--user-heading-font,"Cairo",sans-serif)!important;
  --body-font:var(--user-body-font,"Cairo",sans-serif)!important;
  font-family:var(--body-font)!important;
}
.site-v676 :where(input,select,textarea,button){font-family:var(--body-font)!important}
.site-v676 :where(h1,h2,h3,h4,h5,h6,.faq-v3 summary,.brand-mark strong,.conversion-price){font-family:var(--heading-font)!important}

/* Persisted custom text colors win over older theme-specific hard-coded text rules,
   while the per-section contrast tokens still win on brand/dark/image/gradient sections. */
.site-v676.custom-heading-color .section-v3 :where(h2,h3,h4,h5,h6){color:var(--section-heading,var(--custom-heading))!important}
.site-v676.custom-body-color .section-v3 :where(p,li,blockquote){color:var(--section-body,var(--custom-body))!important}
.site-v676.custom-heading-color .faq-v3 summary{color:var(--section-heading,var(--custom-heading))!important}
.site-v676.custom-body-color .faq-v3 details p{color:var(--section-body,var(--custom-body))!important}

/* Keep the final user brand tokens authoritative even when an older experience stylesheet
   declared its own palette. Component rules still decide where primary/secondary/accent are used. */
.site-v676{
  --brand:var(--user-brand)!important;
  --brand-2:var(--user-brand-2)!important;
  --accent:var(--user-accent)!important;
}

.mobile-layout-nav-v676{display:none!important}

@media(max-width:820px){
  /* Shared mobile rail behavior. */
  .site-v676 :is(
    .section-services :is(.service-ledger-v54,.service-atelier-v54,.service-editorial-v54,.service-conversion-v54),
    .section-team .team-v3,
    .section-conversion .conversion-grid,
    .section-faq .faq-v3
  ){
    min-width:0;
  }

  /* SERVICES — one card / two cards. All desktop experience variants are normalized
     into touch-friendly cards only when the user explicitly chooses a mobile layout. */
  .site-v676:is(.mobile-services-grid-1,.mobile-services-grid-2) .section-services :is(.service-ledger-v54,.service-atelier-v54,.service-editorial-v54,.service-conversion-v54){
    display:grid!important;overflow:visible!important;scroll-snap-type:none!important;padding:0!important;margin:0!important;
  }
  .site-v676.mobile-services-grid-1 .section-services :is(.service-ledger-v54,.service-atelier-v54,.service-editorial-v54,.service-conversion-v54){grid-template-columns:1fr!important;gap:14px!important}
  .site-v676.mobile-services-grid-2 .section-services :is(.service-ledger-v54,.service-atelier-v54,.service-editorial-v54,.service-conversion-v54){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .site-v676:is(.mobile-services-grid-1,.mobile-services-grid-2) .section-services :is(.service-ledger-row,.service-atelier-card,.service-editorial-row,.service-conversion-card){
    grid-column:auto!important;grid-row:auto!important;display:flex!important;flex-direction:column!important;gap:10px!important;min-width:0!important;width:auto!important;height:auto!important;min-height:0!important;padding:18px!important;margin:0!important;border:1px solid var(--site-border)!important;border-radius:calc(var(--radius,18px)*.82)!important;background:var(--card-bg)!important;color:var(--section-heading,var(--custom-heading,var(--ink)))!important;box-shadow:none!important;transform:none!important;
  }
  .site-v676.mobile-services-grid-2 .section-services :is(.service-ledger-row,.service-atelier-card,.service-editorial-row,.service-conversion-card){padding:14px!important;gap:8px!important}
  .site-v676:is(.mobile-services-grid-1,.mobile-services-grid-2) .section-services :is(.service-ledger-row,.service-atelier-card,.service-editorial-row,.service-conversion-card) h3{font-size:clamp(1rem,4.7vw,1.32rem)!important;margin:0!important;letter-spacing:normal!important}
  .site-v676:is(.mobile-services-grid-1,.mobile-services-grid-2) .section-services :is(.service-ledger-row,.service-atelier-card,.service-editorial-row,.service-conversion-card) p{font-size:.82rem!important;line-height:1.65!important;margin:0!important;color:var(--section-body,var(--custom-body,var(--muted)))!important}
  .site-v676:is(.mobile-services-grid-1,.mobile-services-grid-2) .section-services :is(.service-ledger-row,.service-atelier-card,.service-editorial-row,.service-conversion-card)>a{position:static!important;display:flex!important;align-items:center!important;justify-content:center!important;width:auto!important;height:auto!important;min-height:38px!important;margin-top:auto!important;padding:9px 10px!important;border-radius:10px!important;align-self:stretch!important;justify-self:stretch!important}

  /* SERVICES — compact list/table. */
  .site-v676.mobile-services-list .section-services :is(.service-ledger-v54,.service-atelier-v54,.service-editorial-v54,.service-conversion-v54){display:block!important;border-top:1px solid var(--site-border)!important;overflow:visible!important;padding:0!important}
  .site-v676.mobile-services-list .section-services :is(.service-ledger-row,.service-atelier-card,.service-editorial-row,.service-conversion-card){
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:6px 12px!important;min-height:0!important;width:100%!important;padding:16px 4px!important;margin:0!important;border:0!important;border-bottom:1px solid var(--site-border)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;transform:none!important;
  }
  .site-v676.mobile-services-list .section-services :is(.service-ledger-row,.service-atelier-card,.service-editorial-row,.service-conversion-card)>:not(a){grid-column:1!important;position:static!important}
  .site-v676.mobile-services-list .section-services :is(.service-ledger-row,.service-atelier-card,.service-editorial-row,.service-conversion-card)>a{grid-column:2!important;grid-row:1/5!important;align-self:center!important;justify-self:end!important;position:static!important;width:42px!important;height:42px!important;min-height:42px!important;margin:0!important;padding:0!important;border-radius:12px!important;display:grid!important;place-items:center!important;font-size:0!important}
  .site-v676.mobile-services-list .section-services :is(.service-ledger-row,.service-atelier-card,.service-editorial-row,.service-conversion-card)>a b{display:none!important}
  .site-v676.mobile-services-list .section-services :is(.service-ledger-row,.service-atelier-card,.service-editorial-row,.service-conversion-card)>a::after{content:"↗";font-size:1rem!important;line-height:1}
  .site-v676.mobile-services-list .section-services :is(.service-ledger-row,.service-atelier-card,.service-editorial-row,.service-conversion-card) h3{font-size:1.05rem!important;margin:0!important;letter-spacing:normal!important}
  .site-v676.mobile-services-list .section-services :is(.service-ledger-row,.service-atelier-card,.service-editorial-row,.service-conversion-card) p{font-size:.78rem!important;line-height:1.6!important;margin:0!important;color:var(--section-body,var(--custom-body,var(--muted)))!important}

  /* SERVICES — swipe slider. */
  .site-v676.mobile-services-slider .section-services :is(.service-ledger-v54,.service-atelier-v54,.service-editorial-v54,.service-conversion-v54){
    display:flex!important;grid-template-columns:none!important;overflow-x:auto!important;overflow-y:visible!important;scroll-snap-type:x mandatory!important;scroll-behavior:smooth!important;gap:12px!important;padding:4px 2px 16px!important;scrollbar-width:none!important;
  }
  .site-v676.mobile-services-slider .section-services :is(.service-ledger-v54,.service-atelier-v54,.service-editorial-v54,.service-conversion-v54)::-webkit-scrollbar{display:none}
  .site-v676.mobile-services-slider .section-services :is(.service-ledger-row,.service-atelier-card,.service-editorial-row,.service-conversion-card){
    flex:0 0 min(84vw,350px)!important;grid-column:auto!important;display:flex!important;flex-direction:column!important;gap:10px!important;min-height:280px!important;height:auto!important;padding:20px!important;border:1px solid var(--site-border)!important;border-radius:calc(var(--radius,18px)*.9)!important;background:var(--card-bg)!important;color:var(--section-heading,var(--custom-heading,var(--ink)))!important;scroll-snap-align:center!important;box-shadow:none!important;transform:none!important;
  }
  .site-v676.mobile-services-slider .section-services :is(.service-ledger-row,.service-atelier-card,.service-editorial-row,.service-conversion-card)>a{position:static!important;margin-top:auto!important;align-self:stretch!important;width:auto!important;height:auto!important;min-height:42px!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:11px!important}
  .site-v676.mobile-services-slider .section-services+.mobile-layout-nav-v676,
  .site-v676.mobile-services-slider .section-services .mobile-layout-nav-v676{display:flex!important}
  .site-v676.mobile-services-slider .section-services .mobile-layout-nav-v676{align-items:center;justify-content:center;gap:13px;margin-top:16px}

  /* TEAM */
  .site-v676:is(.mobile-team-grid-1,.mobile-team-grid-2) .section-team .team-v3{display:grid!important;overflow:visible!important;scroll-snap-type:none!important;padding:0!important;margin:0!important;gap:12px!important}
  .site-v676.mobile-team-grid-1 .section-team .team-v3{grid-template-columns:1fr!important}
  .site-v676.mobile-team-grid-2 .section-team .team-v3{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .site-v676:is(.mobile-team-grid-1,.mobile-team-grid-2) .section-team .team-card{width:auto!important;min-width:0!important;flex:none!important;transform:none!important;opacity:1!important}
  .site-v676.mobile-team-grid-2 .section-team .team-card{padding:12px!important}
  .site-v676.mobile-team-grid-2 .section-team .team-media{min-height:0!important;aspect-ratio:1/1!important}
  .site-v676.mobile-team-grid-2 .section-team .team-card h3{font-size:1rem!important}
  .site-v676:is(.mobile-team-grid-1,.mobile-team-grid-2) .section-team .section-slider-nav-v67{display:none!important}
  .site-v676.mobile-team-slider .section-team .team-v3{display:flex!important;grid-template-columns:none!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;scroll-behavior:smooth!important;gap:12px!important;padding:4px 2px 16px!important;margin:0!important;scrollbar-width:none!important}
  .site-v676.mobile-team-slider .section-team .team-v3::-webkit-scrollbar{display:none}
  .site-v676.mobile-team-slider .section-team .team-card{flex:0 0 min(82vw,340px)!important;scroll-snap-align:center!important;transform:none!important;opacity:1!important}
  .site-v676.mobile-team-slider .section-team .section-slider-nav-v67{display:flex!important}

  /* OFFERS */
  .site-v676:is(.mobile-offers-grid-1,.mobile-offers-grid-2) .section-conversion .conversion-grid{display:grid!important;overflow:visible!important;scroll-snap-type:none!important;gap:12px!important}
  .site-v676.mobile-offers-grid-1 .section-conversion .conversion-grid{grid-template-columns:1fr!important}
  .site-v676.mobile-offers-grid-2 .section-conversion .conversion-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .site-v676:is(.mobile-offers-grid-1,.mobile-offers-grid-2) .section-conversion .conversion-card{grid-column:auto!important;width:auto!important;min-width:0!important;height:auto!important;min-height:0!important;transform:none!important}
  .site-v676.mobile-offers-grid-2 .section-conversion .conversion-card{padding:14px!important}
  .site-v676.mobile-offers-grid-2 .section-conversion .conversion-card img{max-height:120px!important;object-fit:cover!important}
  .site-v676.mobile-offers-list .section-conversion .conversion-grid{display:block!important;border-top:1px solid var(--site-border)!important}
  .site-v676.mobile-offers-list .section-conversion .conversion-card{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;min-height:0!important;width:100%!important;padding:16px 4px!important;border:0!important;border-bottom:1px solid var(--site-border)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;transform:none!important}
  .site-v676.mobile-offers-list .section-conversion .conversion-card>img{display:none!important}
  .site-v676.mobile-offers-list .section-conversion .conversion-card>div{grid-column:1/-1!important}
  .site-v676.mobile-offers-slider .section-conversion .conversion-grid{display:flex!important;grid-template-columns:none!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;scroll-behavior:smooth!important;gap:12px!important;padding:4px 2px 16px!important;scrollbar-width:none!important}
  .site-v676.mobile-offers-slider .section-conversion .conversion-grid::-webkit-scrollbar{display:none}
  .site-v676.mobile-offers-slider .section-conversion .conversion-card{flex:0 0 min(84vw,350px)!important;min-width:0!important;width:auto!important;height:auto!important;scroll-snap-align:center!important;transform:none!important}
  .site-v676.mobile-offers-slider .section-conversion .mobile-layout-nav-v676{display:flex!important}

  /* FAQ */
  .site-v676:is(.mobile-faq-accordion,.mobile-faq-cards,.mobile-faq-slider) .section-faq .faq-grid{grid-template-columns:1fr!important;gap:18px!important}
  .site-v676.mobile-faq-accordion .section-faq .faq-v3{display:block!important;overflow:visible!important}
  .site-v676.mobile-faq-cards .section-faq .faq-v3{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;overflow:visible!important}
  .site-v676.mobile-faq-cards .section-faq .faq-v3 details{margin:0!important;padding:0 16px!important;border:1px solid var(--site-border)!important;border-radius:calc(var(--radius,18px)*.75)!important;background:var(--card-bg)!important}
  .site-v676.mobile-faq-slider .section-faq .faq-v3{display:flex!important;grid-template-columns:none!important;overflow-x:auto!important;overflow-y:visible!important;scroll-snap-type:x mandatory!important;scroll-behavior:smooth!important;gap:12px!important;padding:4px 2px 16px!important;scrollbar-width:none!important}
  .site-v676.mobile-faq-slider .section-faq .faq-v3::-webkit-scrollbar{display:none}
  .site-v676.mobile-faq-slider .section-faq .faq-v3 details{flex:0 0 min(84vw,350px)!important;min-width:0!important;margin:0!important;padding:0 16px 14px!important;border:1px solid var(--site-border)!important;border-radius:calc(var(--radius,18px)*.82)!important;background:var(--card-bg)!important;scroll-snap-align:center!important}
  .site-v676.mobile-faq-slider .section-faq .mobile-layout-nav-v676{display:flex!important}

  /* Shared nav only for the three newly introduced rails. */
  .site-v676.mobile-services-slider .section-services .mobile-layout-nav-v676,
  .site-v676.mobile-offers-slider .section-conversion .mobile-layout-nav-v676,
  .site-v676.mobile-faq-slider .section-faq .mobile-layout-nav-v676{align-items:center!important;justify-content:center!important;gap:12px!important;margin-top:14px!important}
}

@media(max-width:420px){
  .site-v676.mobile-services-grid-2 .section-services :is(.service-ledger-row,.service-atelier-card,.service-editorial-row,.service-conversion-card),
  .site-v676.mobile-offers-grid-2 .section-conversion .conversion-card{padding:12px!important}
  .site-v676.mobile-services-grid-2 .section-services :is(.service-ledger-row,.service-atelier-card,.service-editorial-row,.service-conversion-card) p,
  .site-v676.mobile-offers-grid-2 .section-conversion .conversion-card p{font-size:.74rem!important}
}

@media(prefers-reduced-motion:reduce){
  .site-v676 :is(.service-ledger-v54,.service-atelier-v54,.service-editorial-v54,.service-conversion-v54,.team-v3,.conversion-grid,.faq-v3){scroll-behavior:auto!important}
}
